您的位置:首页 > 编程语言 > ASP

ASP.NET------Server.Transfer(),Response.Redirect()和PostBackUrl的跨页面Postback效果比较

2009-07-28 19:49 519 查看
1. Server.Tranfser方法,如Server.Transfer("~/Page2.aspx");
注意:参数中不能带查询参数的。
效果:在Page2.aspx.cs中,IsCrossPagePostBack属性为false。
PreviousPage是可以用的。
Windows的URL是没有变化的,相当于还是自身Page响应,只是用另外一个Page的页面来填充原有页面。

2. Response.Redirect方法,如Response.Redirect("Page2.aspx")
注意:页面中可以带参数,如Response.Redirect("Page2.aspx?parameter1="+Server.UrlEncode("<xml>123</xml>"));
Windows的URL用方法中的参数值替换。
由于参数值中带有特殊编码,需要在Page2.aspx中添加ValidateRequest="false"属性,否则提示"A potentially dangerous Request.QueryString value was detected from the client "的错误。
Page2中通过Request获取URL中包含的参数。
Page2中PreviousPage为null。
IsCrossPagePostBack为false。

3. PostBackUrl属性
<asp:Button ID="CrossPagePost" runat="server" PostBackUrl="~/Page2.aspx" Text="CrossPagePost" />
与Server.Transfer相同的是,PreviousPage可用,IsCrossPagePostBack属性为false。
不同之处是URL改变了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐