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

ASP.NET重定向_第三篇_调用 ASP.NET 网页的方式

2010-10-08 21:37 381 查看

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

通常有必要了解调用 ASP.NET 网页的方式:是由原始请求 (HTTPGET)、回发 (HTTP POST)、来自其他页的跨页发送 (HTTP POST) 调用的,还是由来自其他页(使用 Transfer 方法或使用浏览器中的回调)的传送调用的。Page 类公开可用于确定页调用方式的属性集。检查以下 Page 类属性的值,然后参照下表来确定页的调用方式:IsPostBack
PreviousPage
IsCrossPagePostBack
IsCallback

下表列出了页调用方式及对应的 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。

说明

确保对 PreviousPage 中引用的页的 IsCrossPagePostBack 属性进行测试。当前页的 IsCrossPagePostBack 属性始终返回 false。

演示调用 ASP.NET 网页的方式

原始请求与回发

新建一个页面,放一个Button控件,代码如下:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Response.Write("原始请求:<br>");
                Response.Write("IsPostBack=" + IsPostBack.ToString() + "<br>" +
                    "IsCallback=" + IsCallback.ToString());
            }
            else
            {
                Response.Write("回发:<br>"); Response.Write("IsPostBack=" + IsPostBack.ToString() +
                    "<br>" + "IsCallback=" + IsCallback.ToString());
            }
            Response.Write("<br>PreviousPage =" + PreviousPage);
        }

说明:由于不存在页面引用,PreviousPage 引用为“null”;当第一次请求该页面时,IsPostBack为“false”,IsCallback为“false”;点击页面按钮后,IsPostBack变为“true”,IsCallback 仍为“false”。

回调

IsCallback为true,而PreviousPage引用必为null,不用解释。关键是 IsPostBack 为“false”,与“原始请求”和“回发”相比,就上边的例子,你再点按钮,IsPostBack 也不会为“true”,始终为“false”。也就是说,每次点击按钮,都相当于第一次请求这个页面。

跨页发送与服务器传输

第三篇“如何将 ASP.NET 网页发送到另一页”例子使用了Button控件的“PostBackUrl”属性是跨页发送,而第二篇的例子使用了“@ PreviousPageType”指令是属于服务器传输。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: