我有2个文本框和一个按钮以及一个Href标签,可在点击日历时打开日历。我在另一页上也一样
我使用Respose.Redirect
编写一个代码以转移到特定页面,如下所示protected void Button1_Click3(object sender, EventArgs e)
{
Response.Redirect("Demo/Default.aspx");//Works fine
//Server.Tranfer("Demo/Default.aspx"); // Does not works
}
这很干净但是如果我在第二页上使用Sever.Tranfer我无法在用户点击Href标签时加载日历控件
答案 0 :(得分:2)
http://www.developer.com/net/asp/article.php/3299641/ServerTransfer-Vs-ResponseRedirect.htm
首先,转移到另一页 使用Server.Transfer节省服务器 资源。而不是告诉 浏览器重定向,它只是改变 Web服务器上的“焦点”和 转移请求。这意味着你 不要获得尽可能多的HTTP请求 通过,因此缓和 Web服务器上的压力和 使您的应用程序运行得更快。
但请注意:因为“转移” 进程只能在那些站点上运行 在服务器上运行,你无法使用 Server.Transfer将用户发送到 外部网站。只有Response.Redirect 可以那样做。
其次,Server.Transfer维护 浏览器中的原始URL。这个 真的可以帮助简化数据输入 技术虽然可能有所作为 调试时的困惑。
这不是全部:Server.Transfer 方法还有第二个 参数 - “preserveForm”。如果你设置 这是真的,使用这样的陈述 作为Server.Transfer(“WebForm2.aspx”, True),现有的查询字符串和 任何形式的变量仍然是 可用于您所在的页面 转移到。
例如,如果你的WebForm1.aspx有 一个名为TextBox1和的TextBox控件 你转移到WebForm2.aspx preserveForm参数设置为 没错,你可以找回 原始页面TextBox的值 通过引用控制 的Request.Form( “TextBox1中”)。