Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / July 2007

Tip: Looking for answers? Try searching our database.

Querystring or ViewState question

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Froefel - 19 Jul 2007 17:32 GMT
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
Peter Bromberg [C# MVP] - 19 Jul 2007 19:50 GMT
Correct. If you still need to redirect (you could also consider
server.transfer, which is more efficient) then consider putting the message
on the querystring and picking it up from there to redisplay.
-- Peter
Recursion: see Recursion
site:  http://www.eggheadcafe.com
unBlog:  http://petesbloggerama.blogspot.com
bogMetaFinder:    http://www.blogmetafinder.com

> Hi group,
>
[quoted text clipped - 41 lines]
> Any help is greatly appreciated.
> -- Hans

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.