Server.transfer on asp.net?

When I write server.transfer("defaul2.aspx");in url default2.aspxit is not displayed, but the page is displayed defaul.aspx. when I writeresponse.redirect("default2.aspx");

the url page default2.aspxdisplays what is there.

+3
source share
2 answers

This is because Server.Transfer () and Response.Redirect () do not work the same.

Server.Transfer()does not complete the current request, it only instructs ASP.NET to stop displaying the current page and start rendering a new page. The client is not wiser, from its point of view, the server still responds to the initial request, so the URL displayed in the address bar does not change.

Response.Redirect() 302 . HTTP- URL- . , URL- , URL- .

+9

Response.Redirect:
. . . Response.rediect(), . VB.Net

Private Sub Button1_Click(ByVal Sender as System.Object, ByVal e as System.EventArgs) Handles Button1.Click
    'Display target page.
    Response.Redirect("Target.aspx")
End Sub

#

private void Button1_Click(Object sender, System.EventArgs e)
{
        //Display Target Page.
        Response.Redirect("Target.aspx");
}

Server.Execute
Server.Execute -, . . Server.Transfer, false EnableViewStateMac. , : Calculate.aspx . Click event. Server.Execute Result.aspx aspx. :

 protected void btn_Click(object sender, EventArgs e)
{
    Server.Execute("Result.aspx");
}

pageload Result.aspx.

protected void Page_Load(object sender, EventArgs e)
{
    NameValueCollection colform = new NameValueCollection();
    colform = Request.Form;
    Response.Write("<h2>Additon Result:</h2>" + (Convert.ToInt32(colform["TextBox1"]) + Convert.ToInt32(colform["TextBox2"])));
}
+2

Source: https://habr.com/ru/post/1789221/


All Articles