判断是否为跨页面提交
跨页面提交的时候,源页面控件的内容被提交到目标页面,然后浏览器执行POST操作(注意,不是GET)。在ASP.NET 1.x中由于页面都是自己提交给自己,可以通过Page的IsPostBack属性来判断是否为页面提交。但是在跨页面提交的时候,目标页面的IsPostBack属性为false。如果要判断是否为跨页面提交,可以对目标页面的PreviousPage属性返回的引用页面的IsCrossPagePostBack属性进行判断,如下面的代码所示:
if(PreviousPage != null)
{ if(PreviousPage.IsCrossPagePostBack == true) { Label1.Text = "跨页面提交"; } } else { Label1.Text = "非跨页面提交"; } |
注意,如果当前页面不是跨页面提交的目标页面,则其PreviousPage属性为空。
跨页面提交 VS Server.Transfer
ASP.NET 2.0中,无论是跨页面提交还是使用Server.Transfer操作,都可以使用Previousoage属性来获取对源页面的引用。如果要区分它们,可以使用上面介绍的方法。
下面是跨页面提交与Server.Transfer之间的一些区别: