Yes. We can transfer data from one page two another page
through View state.
yes we can do it by cross page posting (cross page
viewstate)
here is the code:
Source page code:
----------------
public partial class ViewStateContainer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ViewState["Page1"] = "Page1 ViewState";
Server.Transfer("AccessViewState.aspx");
}
/*StateBag class: This class is the primary storage
mechanism for all HTML and Web server controls.
It stores attribute/value pairs as strings associated
with the control. It tracks changes to these
attributes only after the OnInit method is executed for
a page request, and saves the changes
to the page's or control's viewstate.*/
public StateBag ReturnViewState()
{
return ViewState;
}
}
Target page code:
----------------
public partial class AccessViewState : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
if (PreviousPageViewState != null)
{
Label1.Text = PreviousPageViewState["Page1"].ToString();
}
}
Response.Write(((Label)PreviousPage.FindControl("Label1")).Text);
}
private StateBag PreviousPageViewState
{
get
{
StateBag returnValue = null;
if (PreviousPage != null)
{
Object objPreviousPage = (Object)PreviousPage;
MethodInfo objMethod = objPreviousPage.GetType().GetMethod("ReturnViewState");
return (StateBag)objMethod.Invoke(objPreviousPage, null);
}
return returnValue;
}
}
}
courtesy:
http://www.allinterview.com/showanswers/36626.html
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment