用于创建服务器控件的正确模式?

时间:2015-01-29 11:22:20

标签: c# asp.net custom-server-controls composite-controls

我正在创建一个服务器控件(继承自CompositeControl)。

该控件包含多个数据绑定下拉列表(以及一些文本框等)。

下拉列表构成一个层次结构,因此彼此依赖...例如

  

ddlCountry

     

-ddlCounty

     

- ddlCity

当选择ddlCountry时,这应刷新ddlCounty的列表......依此类推ddlCity等。

我想访问控件中ddlCountry的值,所以我可以相应地设置第二个ddl(ddlCounty)的数据源, 但是在CreateChildControls()中,viewstate似乎没有将ddlCountry用户选择加载到控件中,所以我得到一个空字符串。

我还需要提供这些ddl值作为公共属性。

使用ReCreateChildControls()等会变得非常混乱......我肯定是错的。

我的问题: 任何人都可以建议正确的模式/规则集来遵守创建此服务器控件

例如

  1. 初始化控件OnInit
  2. OnLoad上的DataBind
  3. 将EnsureChildControls()放在任何属性的开头:get或set
  4. 我认为必须有一种正确的方法来实现这一点,但找不到任何文档或示例来使其工作正如您期望的标准控件。

    由于

0 个答案:

没有答案