2013-03-13 17 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

相关问题