asp.net 頁面間傳值與跳轉的區別
來源:互聯網
上載者:User
在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;
}
}