从动态添加的自定义控件访问数据

时间:2010-01-28 01:10:51

标签: c# asp.net custom-controls dynamic-controls

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

2 个答案:

答案 0 :(得分:0)

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

为什么不在这里使用UserControl?所以你可以把它“传递”到某个地方?你究竟想做什么?

答案 1 :(得分:0)

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