2011-09-21 22 views
0

我的UserControl代碼位於下方,我在UserControl中有一個TextBox,並且想從Web頁面訪問TextBox.Text屬性。TextBox.Text屬性未在UserControl中分配

UcUserForm用戶控件插入到myform.aspx網頁中。

在myform.aspx pageLoad的我爲textBox中設定值這樣

ucUserForm.TbFirstName.Text = "Tomas"; 

,一切工作正常。當網頁被加載時,我會在文本框中看到名字。然後我將價值從Tomas改爲Jonas。

在myform.aspx ButtonClick我想讀值

var mynewname = ucUserForm.TbFirstName.Text; 

儘管名字從托馬斯變爲喬納斯在文本框的網頁上我仍然得到舊名托馬斯。無法理解問題在哪裏。 Default.aspx中

<%@ Register Src="ucUserForm.ascx" TagName="ucUserForm" TagPrefix="uc1" %> 
<uc1:ucUserForm ID="ucUserForm" runat="server" /> 
+0

刪除 「設置」 訪問:是有害 – onof

+0

已刪除。但問題仍然存在。 – Tomas

+0

你能展示如何將用戶控件添加到頁面嗎?是否啓用了視圖狀態?* –

回答

0

試試這個:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!this.IsPostBack) 
     { 
      ucUserForm.TbFirstName.Text = "Tomas"; 
     } 
    } 
0

背後

public partial class UcUserForm: System.Web.UI.UserControl 
    { 


     public TextBox TbFirstName 
     { 
      get { return tbFirstName; } 

     } 

} 

用戶控件的網頁

<asp:TextBox ID="tbFirstName" autocomplete="off" MaxLength="25" runat="server"></asp:TextBox> 

註冊用戶控件的代碼

用戶控件代碼,您可以設置它每次加載頁面。嘗試在初始階段。

這個

protected void Page_Init(object sender, EventArgs e) 
    { 
      ucUserForm.TbFirstName.Text = "Tomas"; 
    } 

初始化只是在頁面的生命週期發生一次類似

http://msdn.microsoft.com/en-us/library/ms178472.aspx

相關問題