关于Asp.net页面跳转、传送消息
2010-09-06 22:09
465 查看
ls="20" id="ctl00_ctl00_cphContent_cphDoc_EntryEditor1_richTextEditor" class="mceEditor" style="height:450px;width:100%;">在页面间跳转、传送消息有以下几种方式:
1,查询字符串 + Response.Redirect方法
a. 相当完全从新载入一个页面,和从地址栏中输入地址的效果是一样的。
2,跨页面回发(Cross Post)
a. 方式一:通过设置页面1中的button的postbackurl为页面2。这时,转到页面2,进入页面2的 Page_Load()方法,PreviousPage.IsCrossPagePostBack为真,IsCrossPagePostBack为假,IsPostBack为假,进入PreviousPage.IsCrossPagePostBack判断条件后,执行页面1的生命周期,页面1中的生命周期中,IsCrossPagePostBack为真,PreviousPage.IsCrossPagePostBack属性为假,IsPostBack为假。然后在页面2Unload之后,页面1Unload。
这时,给button设置Click事件执行函数,也不会去执行。
b. 方式二:在button的click函数中,使用Server.Transfer()函数,这时,由于出动页面1的按钮单击事件,页面1postback,会执行页面1的page_Load中的Ispostback条件判断,然后执行按钮点击事件,执行Server.Transfer(),页面1生命不结束,而是直接执行页面2生命周期,在页面2中, 会像第一次加载一样, ispostback, PreviousPage.IsCrossPagePostBack, IsCrossPagePostBack均为假,当页面2执行结束后,执行页面1Unload,结束页面1生命周期。
可以在某一页面中,采用完全判断:
if (PreviousPage != null)
{
if (PreviousPage.IsCrossPagePostBack){ // 这里是由postbackurl引发的 }
else { // 这里是有Server.Transfer()引发的}
}
else
{
if (IsPostBack){ // 这里是有自身PostBack引发的}
else if (IsCrossPagePostBack) { // 这里是页面2调用页面1的生命周期时}
else { // 这里是 第一次加载引发的, 包括 Response.Redirect(),包括有Server.Transfer()引发的页面2全新加载}
}
欢迎访问 在找网
1,查询字符串 + Response.Redirect方法
a. 相当完全从新载入一个页面,和从地址栏中输入地址的效果是一样的。
2,跨页面回发(Cross Post)
a. 方式一:通过设置页面1中的button的postbackurl为页面2。这时,转到页面2,进入页面2的 Page_Load()方法,PreviousPage.IsCrossPagePostBack为真,IsCrossPagePostBack为假,IsPostBack为假,进入PreviousPage.IsCrossPagePostBack判断条件后,执行页面1的生命周期,页面1中的生命周期中,IsCrossPagePostBack为真,PreviousPage.IsCrossPagePostBack属性为假,IsPostBack为假。然后在页面2Unload之后,页面1Unload。
这时,给button设置Click事件执行函数,也不会去执行。
b. 方式二:在button的click函数中,使用Server.Transfer()函数,这时,由于出动页面1的按钮单击事件,页面1postback,会执行页面1的page_Load中的Ispostback条件判断,然后执行按钮点击事件,执行Server.Transfer(),页面1生命不结束,而是直接执行页面2生命周期,在页面2中, 会像第一次加载一样, ispostback, PreviousPage.IsCrossPagePostBack, IsCrossPagePostBack均为假,当页面2执行结束后,执行页面1Unload,结束页面1生命周期。
可以在某一页面中,采用完全判断:
if (PreviousPage != null)
{
if (PreviousPage.IsCrossPagePostBack){ // 这里是由postbackurl引发的 }
else { // 这里是有Server.Transfer()引发的}
}
else
{
if (IsPostBack){ // 这里是有自身PostBack引发的}
else if (IsCrossPagePostBack) { // 这里是页面2调用页面1的生命周期时}
else { // 这里是 第一次加载引发的, 包括 Response.Redirect(),包括有Server.Transfer()引发的页面2全新加载}
}
欢迎访问 在找网
相关文章推荐
- Asp.Net里关于Session过期跳转页面的一些小技巧
- asp.net显示消息提示对话框,并进行页面跳转
- ASP.NET页面跳转的几种方法(转载)
- asp.net跳转页面的三种方法比较
- asp.net跳转页面的三种方法比较
- 用asp.net 实现页面的新消息提醒功能
- asp.net知识汇总-页面跳转Server.Transfer和Response.Redirect
- asp.net跳转页面的三种方法比较
- 关于Asp.NET中页面事件加载的先后顺序
- ASP.NET页面跳转方法的集合
- 转:Asp.net中实现页面跳转的三种方法比较,现在总结如下:
- 一起谈.NET技术,关于ASP.NET页面打印技术的总结
- asp.net关于页面不回发的问题,寻求完美解决方案
- 关于ASP.NET页面打印技术的总结
- asp.net跳转页面的三种方法比较
- ASP.net实现页面跳转的方法
- asp.net 页面跳转 Response.Redirect和Server.Transfer
- asp.net服务器端跳转页面的三种方法
- ASP.NET 页面跳转
- asp.net页面跳转sessionid会变