代码之家  ›  专栏  ›  技术社区  ›  Coding Flow

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

  •  0
  • Coding Flow  · 技术社区  · 15 年前

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

    2 回复  |  直到 15 年前
        1
  •  0
  •   Nick Higgs    15 年前

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

        2
  •  0
  •   Bryan    15 年前

    你看起来确实很难做到这一点。文本框值不保存在视图状态中,而是在请求中发布。

    为什么不在这里使用用户控件?所以你可以把它“传”到某个地方?你到底想做什么?

    推荐文章