iscrosspagepostback 、IsPostBack、PreviousPage、IsCallback区别和Server.Transfer(),Response.Redirect()和Post...

本文详细介绍了ASP.NET网页的不同调用方式及其Page类属性的对应关系,包括原始请求、回发、跨页发送、服务器传输和回调等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常有必要了解调用 ASP.NET 网页的方式:是由原始请求 (HTTP GET)、回发 (HTTP POST)、来自其他页的跨页发送 (HTTP POST) 调用的,还是由来自其他页(使用 Transfer 方法或使用浏览器中的回调)的传送调用的。Page 类公开可用于确定页调用方式的属性集。

确定调用 ASP.NET 网页的方式

  • 检查以下 Page 类属性的值,然后参照下表来确定页的调用方式:

    下表列出了页调用方式及对应的 Page 属性值。

    调用方法属性值

    原始请求

    • IsPostBack 设置为 false

    • PreviousPage 设置为 null(在 Visual Basic 中为 Nothing)。

    • IsCallback 设置为 false

    回发

    • IsPostBack 设置为 true

    • PreviousPage 设置为 null(在 Visual Basic 中为 Nothing)。

    • IsCallback 设置为 false

    跨页发送

    • IsPostBack 设置为 false

    • PreviousPage 引用源页。

    • IsCrossPagePostBack 设置为 true

    • IsCallback 设置为 false

    服务器传输

    • IsPostBack 设置为 false

    • PreviousPage 引用源页。

    • PreviousPage 中引用的 IsCrossPagePostBack 设置为 false

    • IsCallback 设置为 false

    回调

    • IsPostBack 设置为 false

    • PreviousPage 设置为 null(在 Visual Basic 中为 Nothing)。

    • IsCallback 设置为 true

 

 

 

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改变了。

 

 

转载于:https://www.cnblogs.com/caimaosheng/archive/2009/12/27/1633552.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值