2013-03-13 16 views
0

在ASP.NET Web表單應用我有包含具有特性的用戶控件作爲這樣的提交表單:如何以這樣的方式連接我的UserControl屬性,使它們在回發時保留狀態?

public string Name 
    { 
     get 
     { 
      String s = (String)ViewState["Name"]; 
      return ((s == null) ? String.Empty : s); 
     } 

     set 
     { 
      ViewState["Name"] = value; 
     } 
    } 

這是從一個MSDN步行通過適配。這被認爲是「綁定」(沒有數據綁定,因爲我不認爲這是不可能的)文本框在ASCX定義見下文內容:

<asp:TextBox runat="server" ID="name" /> 

的問題是,什麼是最好的做法允許它作爲公共財產訪問,並在回發中保留狀態?

+0

默認情況下,除非您有意關閉視圖狀態,否則TextBox控件將保留數據。我錯過了什麼嗎? – Win 2013-03-13 18:55:43

+0

好吧,我應該怎麼做在UserControl中做這個 – Firoso 2013-03-13 18:56:51

+0

我想你錯過了這個用戶控件是由很多文本框組成的,每個用戶控件都需要將它的文本內容作爲usercontrol屬性公開。 – Firoso 2013-03-13 18:59:34

回答

1

最簡單的方法就是對你的UserControl委託的公共屬性的子控件的屬性:

public string Name 
{ 
    get { return name.Text; } 
    set { name.Text = value; } 
} 

TextBox然後將保持在回髮狀態的照顧。

+0

保持回髮狀態的TextBox是缺少的元素,謝謝! – Firoso 2013-03-14 17:19:01

相關問題