在asp.net中回发后保持用户控制值

时间:2010-12-30 14:50:27

标签: c# asp.net user-controls dynamic postback

我有几个用户控件,我添加到aspx表单,具体取决于用户从组合框中的选择。 我有一个用户控件,其中包含一个文本框和一个返回文本框值的getValue()方法。

用户选择相关项后,我加载控件并使用loadControl方法添加到面板。用户输入一些文字。回发后我想让用户控件和用户输入保持在相同状态之前。

希望这很清楚。

2 个答案:

答案 0 :(得分:3)

将会有两个步骤。

  1. 确保您将控件添加到Page_Init方法
  2. 上的页面
  3. 然后您可以使用ViewState(ViewState [“MyKey”] =“我的值”;)来存储和检索值。
  4. 这里的关键是你必须在Init中添加控件,以便可以加载viewstate。

答案 1 :(得分:2)

您可以使用ViewState将任何您喜欢的内容添加到页面状态。

ViewState [“myvalue”] =“?”;

通过这种方式,您可以检查以后回发的先前值,如下所示:

someVariable = ViewState [“myvalue”];

更好的是,您可以将其封装在页面的属性中。