关于Asp.net中Page.IsCrossPagePostBack的使用
2016-04-05 08:40
513 查看
由于工作关系,这两天在学习Asp.net。但是关于其中有一个属性Page.IsCrossPagePostBack真的是百思不得其解。查了MSDN,以及各大论坛,似乎都没有说得清清楚楚明明白白,后来终于有点想明白了。
写出来和大家分享。
首先,“跨页提交”这个概念,就是说,你提交的内容,最后要交给别的页面处理。但是通过实验我也发现,提交的过程是这个样子的:比如有页面A和B,过程如下:A的前台->A的后台->B的后台->B的前台(也就是最后的返回结果)。
那如何才能实现这种提交方式,做如下设置:
Step1:A的用于提交的按钮上面,PostBackUrl属性设置为B(有一个设置按钮可以通过鼠标来设定,这样跟保险)
Step2:在B的Page_Load事件中写上如下代码
if (Page.PreviousPage == null || Page.PreviousPage.IsCrossPagePostBack == false)
{
Response.Redirect(页面A);
}
如上设定,就可以在使用IsCrossPagePostBack来判断是否为跨页提交。
这是特别强调一下,这个属性,是用来判断页面A是否为跨页提交,而不是用来判断B的,所有很多人直接写Page.IsCrossPagePostBack,那结果肯定都是false。
写出来和大家分享。
首先,“跨页提交”这个概念,就是说,你提交的内容,最后要交给别的页面处理。但是通过实验我也发现,提交的过程是这个样子的:比如有页面A和B,过程如下:A的前台->A的后台->B的后台->B的前台(也就是最后的返回结果)。
那如何才能实现这种提交方式,做如下设置:
Step1:A的用于提交的按钮上面,PostBackUrl属性设置为B(有一个设置按钮可以通过鼠标来设定,这样跟保险)
Step2:在B的Page_Load事件中写上如下代码
if (Page.PreviousPage == null || Page.PreviousPage.IsCrossPagePostBack == false)
{
Response.Redirect(页面A);
}
如上设定,就可以在使用IsCrossPagePostBack来判断是否为跨页提交。
这是特别强调一下,这个属性,是用来判断页面A是否为跨页提交,而不是用来判断B的,所有很多人直接写Page.IsCrossPagePostBack,那结果肯定都是false。
相关文章推荐
- ASP.NET MVC 4 (一)路径映射
- ASP.NET MVC5 入门
- 剖析ASP.NET MVC的DependencyResolver组件
- 请求如何进入ASP.NET MVC框架
- ASP.NET中如何实现回调
- Asp.net SignalR快速入门
- Asp.net使用SignalR实现酷炫端对端聊天功能
- 神器!传文件神器!全球媒体巨头都用它!
- ASP.NET执行模型之IIS服务器处理流程
- spring学习笔记(3)-aspectj的五种通知方法
- java和asp程序,格式化日期的函数
- [Asp.net 开发系列之SignalR篇]专题二:使用SignalR实现酷炫端对端聊天功能
- windows2003 IIS6.0右键属性没有asp.net选项卡的解决办法
- ASP.NET Core中的依赖注入(1):控制反转(IoC)
- ASP.NET-技巧01
- ASP.NET-datatable转换成list对象
- asp 验证控件导致 button按钮 事件无效
- casperjs 安装试用
- 最新版dotnet-cli下的ASP.NET Core和asp.net mvc【RC2尝鲜】
- 一步一步学树莓派 RaspberryPi 3 Model B - 更改软件安装源