頁面間傳值與跳轉的區別

iDotNetSpace發表於2010-04-07

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

  }

}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-631508/,如需轉載,請註明出處,否則將追究法律責任。

相關文章