2012-07-27 61 views
1

可能重複:我新我使用此代碼從以前的頁面 獲取文本框的值,這裏是爲ASP
previouspage.findcontrol getting variable from previous page查找當前頁面上那麼PreviousPage控制

喜我的代碼

if (!IsPostBack) 
     { 
      name1 = (TextBox)PreviousPage.FindControl("name"); 
      Response.Write(name1.Text); 
     } 

但該代碼返回值textbox name1=""

有人能幫助我.....關於這個問題

+0

你是否在使用另一個頁面的'Server.Transfer'? – Jupaol 2012-07-27 08:43:33

回答

0

你可以試試會議 把前幾頁文本框的值到會話如..

urtextbox.Text=Session["value"].ToString(); 

聲明這個會議上一個頁面,然後調用它在當前頁面 然後您可以在您的整個應用程序中使用此會話獲取該文本框的值。

+0

是會話是傳遞價值的另一種方式。 – 2012-07-27 08:54:36

+0

然後你可以簡單地使用它.. – user1102001 2012-07-27 08:56:43

0

如果你不使用Server.Transfer方法,你將不得不離開原來那頁時,控件的值發送到下一個頁面。你可以將它存儲在查詢字符串中?

前一頁的狀態,當你離開它會消失,所以你必須保存您想保留的地方,e.g查詢字符串值,session..etc

+0

他是正確的,只有在執行Server.Transfer或CrossPagePosting時,才能使用PreviousPage屬性。請參閱Msdn:http://msdn.microsoft.com/en-us/library/system.web.ui.page.previouspage.aspx – shajivk 2012-07-27 08:51:13

2

你應該張貼第一頁第二頁。

<asp:TextBox ID="txtLastName" runat="server"></asp:TextBox> 
<br /><br />          
<asp:Button ID="BtnSubmit" runat="server" PostBackUrl="~/SecondPage.aspx" Text="Go To Second Page" /></div></form> 

secondPage.aspx.cs

if (Page.PreviousPage != null) 
{  
    // Now we call the FindControl method to get the control 
    TextBox name1 = (TextBox)Page.PreviousPage.FindControl("name"); 
    Label1.Text = name1.Text; 
}