C# 创建服务器控件的正确模式?
我正在创建一个服务器控件(从CompositeControl继承) 该控件由几个数据绑定下拉列表(以及一些文本框等)组成 下拉列表形成一个层次结构,因此相互依赖。。。乙二醇 国家 -德勒县 --城市 当选择DDLContry时,这将刷新DDLContry的列表。。。城市等等 我想访问控件中ddlCountry的值,这样我就可以相应地设置第二个ddl(ddlCounty)的数据源, 但是在CreateChildControls()中,viewstate似乎还没有将DDLControls用户选择加载到控件中,因此我得到一个空字符串 我还需要将这些ddl值作为公共属性提供 由于使用了ReCreateChildControls()等,这变得相当混乱。。。我肯定这是错的 我的问题: 是否有人可以建议创建此服务器控件要遵循的正确模式/规则集 乙二醇C# 创建服务器控件的正确模式?,c#,asp.net,custom-server-controls,composite-controls,C#,Asp.net,Custom Server Controls,Composite Controls,我正在创建一个服务器控件(从CompositeControl继承) 该控件由几个数据绑定下拉列表(以及一些文本框等)组成 下拉列表形成一个层次结构,因此相互依赖。。。乙二醇 国家 -德勒县 --城市 当选择DDLContry时,这将刷新DDLContry的列表。。。城市等等 我想访问控件中ddlCountry的值,这样我就可以相应地设置第二个ddl(ddlCounty)的数据源, 但是在CreateChildControls()中,viewstate似乎还没有将DDLControls用户选择加载
谢谢这是webforms吗?如果是这样的话,只需在ddlCountry的onSelectedIndexChanged(我认为它被称为)事件中填充ddlCounty数据源,同样地,在ddlCounty上填充ddlCity。我不会因为这样的事情去CreateChildControls或类似的网站。谢谢Allan,是的,这是webforms。。。我会这样做的:ddl的。提出这个问题的原因更多地集中在服务器控件的构造iteslf。。。尝试为整个控件查找模板/模式。我尝试了一些尝试和错误,关于在应用viewstate后从控件中检索数据,但我似乎无法得到一致的结果。。。并且具有控件维护的正确属性,并且在包含该控件的页面加载事件中可用。动态控件在webforms中总是令人讨厌的,所以我尽量避免:)