asp.net 页面间传值与跳转的区别
程序员文章站
2024-03-07 19:48:21
在a.aspx跳转到b.aspx 通过server.transfer("b.aspx") 与response.redirect("b.aspx")的区别 如果是通过通过se...
在a.aspx跳转到b.aspx
通过server.transfer("b.aspx") 与response.redirect("b.aspx")的区别
如果是通过通过server.transfer()在a.aspx跳转到b.aspx的,则在b.aspx页面,可以查找到保存在a.aspx页面中的 控件中的值,如果是response.redirect(),则得不到到a.aspx页面中控件的值。
如果是通过server.transfer("b.aspx"),则可以通知以下方式得到 保留在 a.aspx中例如 label,hiddenfield中的值
hiddenfield hforderid = new hiddenfield();
hiddenfield hfpaymoney = new hiddenfield();
if (page.previouspage != null)
{
try
{
//
//查找母版页 ,
masterpage masterpage = (masterpage)page.previouspage.controls[0];
//
//查找容器
contentplaceholder contentplaceholder = (contentplaceholder)masterpage.findcontrol("contentplaceholder3");
system.web.ui.usercontrol usercontrol = (system.web.ui.usercontrol)contentplaceholder.findcontrol("myorder1");
//
//查找到对应的数据传送hiddenfield
hforderid = (hiddenfield)usercontrol.findcontrol("hforderid");
hfpaymoney = (hiddenfield)usercontrol.findcontrol("hfpaymoney");
//
//获取传入的订单号
string strorderid = hforderid.value;
string strpaymoney = hfpaymoney.value;
}
}
通过server.transfer("b.aspx") 与response.redirect("b.aspx")的区别
如果是通过通过server.transfer()在a.aspx跳转到b.aspx的,则在b.aspx页面,可以查找到保存在a.aspx页面中的 控件中的值,如果是response.redirect(),则得不到到a.aspx页面中控件的值。
如果是通过server.transfer("b.aspx"),则可以通知以下方式得到 保留在 a.aspx中例如 label,hiddenfield中的值
复制代码 代码如下:
hiddenfield hforderid = new hiddenfield();
hiddenfield hfpaymoney = new hiddenfield();
if (page.previouspage != null)
{
try
{
//
//查找母版页 ,
masterpage masterpage = (masterpage)page.previouspage.controls[0];
//
//查找容器
contentplaceholder contentplaceholder = (contentplaceholder)masterpage.findcontrol("contentplaceholder3");
system.web.ui.usercontrol usercontrol = (system.web.ui.usercontrol)contentplaceholder.findcontrol("myorder1");
//
//查找到对应的数据传送hiddenfield
hforderid = (hiddenfield)usercontrol.findcontrol("hforderid");
hfpaymoney = (hiddenfield)usercontrol.findcontrol("hfpaymoney");
//
//获取传入的订单号
string strorderid = hforderid.value;
string strpaymoney = hfpaymoney.value;
}
}