Server.Transfer 页面之间传值

server.transfer 特点:

1:大家熟悉的一个特点,用server.transfer 跳转到新页面时,浏览器的地址是没有改变的(因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换),有些场合需要这种效果。(但要注意一点,如果此时刷新页面,浏览器便会问用户是否“重试”发送表单,如果用户点击“是”,那么,表单中的数据被重新发送到服务器。如过发送表单中有类似向数据库中插入一条记录, 那么同一表单被多次加入到数据库中)

2:在网上查了一下资料,基本上认为,相对于Response.Write,server.transfer更高效一些,因为重定向完全在服务器端进行,减少客户端对服务器的请求

3: Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则没有这个要求。

4:看到网上用 Server.Transfer在页面间传值,学习了一下,个人感觉用这个方法,在页面间传递很多 参数的时候,是挺好用的,现在把他记录下来。

例子:

Default4页面

<div>
        <asp:TextBox ID="txtvalue" runat="server"></asp:TextBox>
        <asp:Button ID="Button1"
            runat="server" Text=跳转" onclick="Button1_Click" />
    </div>

后台代码:

 public string Name
    {

        get { return this.txtvalue.Text.Trim().ToString(); }

    }
    public int age {
        get { return 10; }
    }

     
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
       
        this.Server.Transfer("Default3.aspx");//
    }

Default3页面

后台

原文地址:https://www.cnblogs.com/panmy/p/5733407.html