Querystring or ViewState question

F

Froefel

Hi group,

One of my web pages is a page that allows the user to create or modify
a project definition. It displays a feedback message when you've
performed certain actions that causes the page to post back to itself
(similar to Gmail's feedback messages). For instance, when you select
several items from a gridview (using a checkbox field) and click a
"Delete selected projects" link, I would display a message "5 projects
were deleted." Wrapped in some Ajax, this is performing very smoothly.

This same page can be used in 2 modes: "new" mode and "edit" mode.
When creating a new project, the url is "~\CreateEditProject.aspx";
when in edit mode the url is "~\CreateEditProject.aspx?
mode=edit&pid=25", where pid is the ID of the project to be edited. On
Page_Load I evaluate the QueryString and either do nothing or load an
existing project and change some things on the page, such as changing
the title from "Create New Project" to "Edit Project".

When you load an existing project and click a "Save this project"
link, the lnkSaveProject_Click() function is called, which saves the
project, sets the feedback messages and displays the same page. The
feedback message is displayed properly. Great!

Now here's where the feedback message doesn't work anymore: when you
start off with a *new* project and click the "Save this project" link,
the lnkSaveProject_Click() function is called, which saves the new
project, sets the feedback messages and then does a
Response.Redirect("~\CreateEditProject.aspx?mode=edit&pid=25") to
render the same page in edit mode for the newly created project (with
ID=25).
The page renders fine, however the feedback message is not displayed.

I have a feeling that this has something to do with the viewstate,
where setting a property on a page that's auto-posted back to itself
is stored in the viewstate and sent along to the client for rendering.
If a Response.Redirect(url) is performed, then the viewstate of the
url page is initially empty. The property change that happened by
setting the feedback message was discarded when calling the
Response.Redirect. Am I thinking correctly about this?

So my question is, how can I display the feedback message when going
from the "new" mode to the "edit" mode?

Any help is greatly appreciated.
-- Hans
 
G

Guest

Just store your feedback in the same storage (xml, database, etc) you save
your project along with the flag which would indicate whether you sent
feedback for this project or not. Then when you load existing project, check
the flag and display the feedback as needed.

and you are correct about the ViewState - it is lost during Redirect
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

ViewState or QueryString 1
Should I use Viewstate? 2
Just finished my first major project! 3
Accessing URL encoded querystring vars 4
QueryString to Textbox 0
viewstate 0
querystring 4
encrypting querystring 4

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,565
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top