c# - viewstate variable is always available? -
i thinking if custom made viewstate variable available on each page visit (same browser session) (like session client-side) or @ page postback? know client-side data encapsulated request packet , response packet server.
i testing right now, , did following:
on home.aspx:
protected void page_load(object sender, eventargs e) { viewstate["test"] = "test1"; } protected void button1_click(object sender, eventargs e) { string test = viewstate["test"].tostring(); server.transfer("default.aspx"); } and on default.aspx:
protected void page_load(object sender, eventargs e) { string test = viewstate["test"].tostring(); } but nullreferenceexception. means viewstate["test"] doesn't exists because viewstate new , regenerated. conclusion can use viewstate variables when doing form postback (but in fact, redirect after form postback, can't use viewstate always...).
am right opinion?
viewstate can configured in different ways, different (or custom) providers, or can disabled. however, default provider is form-field, yes: in default configuration case exist on post, , not exist get. transfer operates essentially get.
if need data between unrelated pages, user-related - use session-state, or cookie-based.
in unrelated news: view-state pretty horrible in many ways - think of kittens!
Comments
Post a Comment