0

我在 a 中填充一个集合UserControl,然后LinkButton从该集合创建动态控件。单击一个时,在回发时,集合为空。这种行为是设计使然,还是我可以做些什么来保持在回发时填充集合而不在代码中重新填充它们?我需要在表单回发中重新查询吗?

4

2 回答 2

2

在继承的类中定义的每个变量Web.UI.Page都将在页面生命周期结束时被销毁(包括控件和字段),因此null如果您不重新初始化它,它将处于回发状态。

在回发中保留它的一种方法是将其存储在Session-variable中。

您将在此处找到有关如何在回发中保留变量的所有选项的完整列表:http: //msdn.microsoft.com/en-us/magazine/cc300437.aspx

  • 应用
  • 饼干
  • 表单发布/隐藏表单域
  • 请求参数
  • 会议
  • ASP.NET 中的新状态容器
  • 缓存
  • 语境
  • 视图状态
  • Web.config 和 Machine.config 文件结论

HTTP的本质是它是无状态的。

于 2013-10-05T20:11:40.540 回答
1

ViewState在回发后加载 ViewState 时,您需要保留信息并重新创建控件。例如,您可以存储创建的按钮数量,然后重新创建它们。

在https://stackoverflow.com/a/15497035/1711598查看类似的解决方案

于 2013-10-05T20:14:21.313 回答