asp.net 页面间传值与跳转的区别

时间:2022-09-09 14:20:26

在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; 
  }