、
。 Web , , 。 , : , 。
ASP.NET 。 Response.Redirect :
protected void Redirect_Click(object sender, EventArgs e)
{
Response.Redirect("menu.aspx");
}
GET , 。 。 :
protected void Redirect_Click(object sender, EventArgs e)
{
Response.Redirect("menu.aspx?userName=" + UserName.Text));
}
Response.Redirect URL。 。
protected void Page_Load(object sender, EventArgs e)
{
string userName = Request["userName"];
}
、
, , Web 。 , Response.Redirect , , 。 , , URL URL, 。 , , , 。
Server.Transfer HttpContext。 , 。 FormsCollection 。 , , : URL Boolean , Form。 :
Server.Transfer("Menu.aspx",true);
, txtUserName Textbox :
object obj = Request.Form["txtUserName"];
、Response.Redirect Server.Transfer
Response.Redirect , , 。 , , redirect 。 ,Server.Transfer , Web 。 , Server.Transfer 。 , Response.Redirect 。
、
ASP.NET 2.0 , IbuttonControl WebForm, 。 Response.Redirect , , Server.Transfer, 。 , PostBackUrl URL。
、
ASP.NET2.0 。 , Web , Web , Web 。 。 PostBackUrl , , System.Web.UI.WebControls.IbuttonControl Web 。 。
PostBackUrl="~/target.aspx" text = "Post to a target page"/>
PostBackUrl ,ASP.NET WebForm_DoPostBackWithOptions JavaScript , Html :
οnclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnSubmit", "", false, "","Target.aspx", false, false))" id="btnSubmit" />
html , , URL(Target.aspx), URL。
、
ASP.NET2.0 PreviousPage , 。 , , null( null )。 PreviousPage ,ASP.NET 。 ProcessChildRequest 。 , Page_Init 、Page_Load 。
, , IsCrossPostBack , true, 。 ( 、Response.Redirect Server.Transfer), false。 。
if ( PreviousPage.IsCrossPagePostBack)
{
//
}
//******************************************
PreviousPage Server.Transfer 。 ASP.NET2.0 , Server.Transfer PreviousPage , :
*******************************************//
{
Server.Transfer("menu.aspx");
}
protected void Redirect_Click(object sender, EventArgs e)
// Web , :
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
TextBox txtBox = (TextBox)
PreviousPage.FindControl("txtUserName");
if (textBox != null)
string userName = textBox.Text;
//
}
}
txtUserName TextBox , 。
、 PreviousPageType
PreviousPageType , 。 :
< asp:Textbox ID="txtUserName" Runat="server" />
< asp:Textbox ID="txtPassword" Runat="server" />
< asp:Button ID="Submit" Runat="server" Text="Login"PostBackUrl="Menu.aspx" />
“Menu.asp” 。 :
、
,ASP.NET2.0 __POSTBACK , -- , PostBackUrl 。 __POSTBACK 。 :
if(PreviousPage!=null && PreviousPage.IsCrossPagePostBack &&
PreviousPage.IsValid)
{
TextBox txtBox = PreviousPage.FindControl("txtUserName");
Response.Write(txtBox.Text);
}
PreviousPage null 。 , , PreviousPage null。 ,IsCrossPagePostBack true。
, ASP.NET2.0 , , 。