I searched the web but haven’t found a real good answer for this question..
Let’s say I have a form, on AddToList.aspx, and i want that after you hit send, it will direct you back to List.aspx, with a message “The Item was added to list” in a message box div.
do i need to send List.aspx?msg=my message, or is there another good way of doing it?
EDIT:
so i made this helper class:
public class MessageHelper : System.Web.UI.MasterPage
{
public void SetMessage(String message)
{
Session["Message"] = message;
}
public string GetMessage()
{
if (String.IsNullOrEmpty(Session["Message"]))
{
String temp = Session["Message"];
Session["Message"] = "";
return temp;
}
else
{
return "";
}
}
}
and got this error:
Error 32 The best overloaded method match for 'string.IsNullOrEmpty(string)' has some invalid arguments
Error 33 Argument '1': cannot convert from 'object' to 'string'
Error 34 Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?)
You could certainly use the query string to pass data to your List.aspx page, but be careful passing text that you’re planning on writing out in the HTML – you’ll need to protect against XSS attacks.
There are several other ways to do this. Chances are, you’re going to have several places in your application where you want to redirect the user to another page, but also display a message that has something to do with what they did on the previous page (saved an item, deleted an item, etc.). It would be better to come up with more of a global scheme for this rather than a one-off just for this particular instance.
One idea is to use the Session for storing a message, then do your redirect.
Then, on your pages (or a Master Page, perhaps), you check
Session("Message")and if it’s got something, you show that message to the user, then clear that variable.If you use this approach, I recommend you write a helper class, and just use that to manage your messaging:
and
would be the methods you would need.