ASP.NET_03-04_ASP.NET 重定向:调用 ASP.NET 网页的方式
2011-09-04 20:50
309 查看
通常有必要了解调用 ASP.NET 网页的方式:是由原始请求(HTTP GET)、回发(HTTP POST)、来自其他页的跨页发送(HTTP POST)调用的,还是由来自其他页(使用 Transfer 方法或使用浏览器中的回调)的传送调用的。Page 类公开可用于确定页调用方式的属性集。
检查以下 Page 类属性的值,然后参照下表来确定页的调用方式:
IsPostBack
PreviousPage
IsCrossPagePostBack
IsCallback
下表列出了页调用方式及对应的 Page 属性值。
说明 确保对 PreviousPage 中引用的页的 IsCrossPagePostBack 属性进行测试。当前页的 IsCrossPagePostBack 属性始终返回 false。
[/code]
说明:由于不存在页面引用,PreviousPage 引用为 null;当第一次请求该页面时,IsPostBack为 false,IsCallback为 false;点击页面按钮后,IsPostBack 变为 true,IsCallback 仍为 false。
回调
IsCallback 为 true,而 PreviousPage 引用必为 null,不用解释。关键是 IsPostBack 为 false,与“原始请求”和“回发”相比,就上边的例子,你再点按钮,IsPostBack 也不会为 true,始终为 false。也就是说,每次点击按钮,都相当于第一次请求这个页面。
跨页发送与服务器传输
第三篇“如何将 ASP.NET 网页发送到另一页”例子使用了 Button 控件的 PostBackUrl 属性是跨页发送,而第二篇的例子使用了 @ PreviousPageType 指令是属于服务器传输。
检查以下 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。 |
演示调用 ASP.NET 网页的方式
原始请求与回发 新建一个页面,放一个 Button 控件,代码如下:[code]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);
}
[/code]
说明:由于不存在页面引用,PreviousPage 引用为 null;当第一次请求该页面时,IsPostBack为 false,IsCallback为 false;点击页面按钮后,IsPostBack 变为 true,IsCallback 仍为 false。
回调
IsCallback 为 true,而 PreviousPage 引用必为 null,不用解释。关键是 IsPostBack 为 false,与“原始请求”和“回发”相比,就上边的例子,你再点按钮,IsPostBack 也不会为 true,始终为 false。也就是说,每次点击按钮,都相当于第一次请求这个页面。
跨页发送与服务器传输
第三篇“如何将 ASP.NET 网页发送到另一页”例子使用了 Button 控件的 PostBackUrl 属性是跨页发送,而第二篇的例子使用了 @ PreviousPageType 指令是属于服务器传输。
相关文章推荐
- ASP.NET重定向_第三篇_调用 ASP.NET 网页的方式
- 调用 ASP.NET 网页的几种方式
- 如何:确定调用 ASP.NET 网页的方式 [转帖]
- 如何:确定调用 ASP.NET 网页的方式
- 如何:确定调用 ASP.NET 网页的方式
- 确定调用 ASP.NET 网页的方式
- ASP.NET中异步调用WebService方式!
- ASP.NET_01-04_ASP.NET 重定向:将用户重定向到另一页
- 备用:Asp.NET生成各种网页快捷方式(桌面url快捷方式,收藏夹/开始菜单快捷方式)
- DOTNET下的三种调用webservice方式之ASP.NET调用方式
- 如何使用jquery GET方式请求调用asp.net方法
- ASP.NET_02-04_ASP.NET 重定向:如何将用户重定向到另一页
- asp.net网页调用客户端程序
- asp.net的三种地址重定向方式
- 黑客程序(asp.net网页调用exe程序) 2013
- asp.net C# 获取网页源码的几种方式
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(10):服务器端和客户端数据类型的自动转换:以XML方式序列化数据、小结
- asp.net网页智能导航SmartNavigation的替代实现方式(C#保存)
- asp.net网页间传值方式之Response.Redirect和Server.Transfer
- ASP.NET - 网页重定向 Response.Redirect()