0

我正在 asp.net 中编写一个调查生成系统。我问了一个关于创建可以作为变量传递的控件的最佳方法的问题。这对用户控件来说是有问题的,所以我被建议使用自定义控件,一个快速的方法是从面板控件继承,并通过覆盖 CreateChildControls 方法在控件集合中添加一堆标准控件。这样我就可以创建我的“调查”控件,这些控件基本上是调查中的问题。然后问题控件被动态添加到页面中。这一切都很好,但我知道我已经到了想要尝试从这些控件中检索值的地步,我似乎迷失在视图状态和页面生命周期的地狱世界中。我可以确保动态添加的文本框有一个已知的 ID,但是,即使我在页面初始化处理程序中添加父控件,CreateChildControls 方法也不会运行,直到加载视图状态之后。我无法弄清楚如何从这些文本框中检索值。

4

2 回答 2

0

您可以在控件的 init 处理程序上调用 EnsureChildControls 方法,以确保在加载 ViewState 之前调用 CreateChildControls。

于 2010-01-28T01:59:27.110 回答
0

你当然似乎很难做到这一点。TextBox 值不保存在 Viewstate 中,它们发布在请求中。

你为什么不在这里使用 UserControl?所以你可以在某个地方“通过”它?你到底想做什么?

于 2010-01-28T01:32:03.043 回答