【问题标题】:server.transfer in asp.net?在asp.net中的server.transfer?
【发布时间】:2011-06-19 06:13:30
【问题描述】:

当我写server.transfer("defaul2.aspx"); 在 url default2.aspx 中没有显示而不是显示 defaul.aspx 页面。 当我写response.redirect("default2.aspx");

在 url default2.aspx 页面中显示有什么不同。

【问题讨论】:

  • 它不完全重复,但也回答了这个问题。因此我也投票关闭。
  • 您还在 Server.Transfer 调用中拼错了“defaul2.aspx”(缺少“t”)。

标签: asp.net


【解决方案1】:

这是因为 Server.Transfer()Response.Redirect() 的工作方式不同。

Server.Transfer() 不会结束当前请求,它只是指示 ASP.NET 停止呈现当前页面并开始呈现新页面。客户端并不聪明,从它的角度来看,服务器仍在响应初始请求,因此地址栏中显示的 URL 不会改变。

Response.Redirect() 结束当前请求并向客户端发送302 响应代码。然后客户端向重定向的 URL 发出 另一个 HTTP 请求并处理响应。由于客户端知道 URL 已更改,它会在其地址栏中显示重定向的 URL。

【讨论】:

    【解决方案2】:

    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
    

    C#代码

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

    使用 Server.Execute 方法
    使用 Server.Execute 方法在不离开源页面的情况下处理目标 Web 表单。这种技术让您可以将目标页面的结果嵌入到源页面的某个区域中。与 Server.Transfer 一样,它还需要将页面指令的 EnableViewStateMac 属性设置为 false。 假设我要翻页的第一页是Calculate.aspx,它有两个文本框和一个按钮控件。 On 按钮单击事件。我执行 Server.Execute 到 Result.aspx 另一个 aspx 页面。 源代码:

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

    在 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"])));
    }
    

    【讨论】:

    • Server 对象声明在哪里?
    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 2019-07-30
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多