【问题标题】:How to Retrieve Values of A Dynamically Created Control's Child Controls on PostBack?如何在 PostBack 上检索动态创建的控件的子控件的值?
【发布时间】:2012-03-28 17:27:37
【问题描述】:

鉴于:我在 aspx 页面的标记中有一个自定义服务器控件。此控件在其CreateChildControls() 方法中创建子控件(例如,它从数据库中检索内容并基于该内容动态创建CheckBoxListRadioButtonList

现在我了解到,除非我在 Page_Init 或 Page_PreInit 上再次添加它们(根据 here),否则我无法在回发时访问动态创建的控件。

我的问题是,如果当我们在每个自定义服务器控件上调用 Render() 时要再次添加它们,我该如何在 Page_Init 或 Page_PreInit 中明确添加它们?强>

我很确定这不是一个独特的问题,所以必须有一个最佳实践方法来做到这一点......我只是不知道它是什么:/

【问题讨论】:

    标签: asp.net postback dynamic-controls


    【解决方案1】:

    您需要做的就是在 Pre_Init 中创建自定义服务器控件。其他一切都为您处理。我认为您对正在发生的事情思考得太认真了,这令人困惑:)

    自定义控件将在 Pre_Init 事件中呈现子控件。它们不会被渲染两次。

    【讨论】:

    • 不幸的是,在这种情况下,我需要自定义服务器控件在标记中:( - 这是否可以通过间接级别来解决,例如,我有一个带有 DBID="123" 的 FigureHeadCustomControl 在标记中,然后在 Pre_Init 中动态创建 TheRealCustomControl 的实例(通过 DBID),TheRealCustomControl 呈现子控件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2010-09-10
    • 1970-01-01
    • 2011-05-19
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多