Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 扩展ASP.NET DropDownList_C#_Asp.net_Controls - Fatal编程技术网

C# 扩展ASP.NET DropDownList

C# 扩展ASP.NET DropDownList,c#,asp.net,controls,C#,Asp.net,Controls,我正在尝试创建一个从DropDownList继承的自定义控件 我需要的是向ListItem(在Item集合中)添加一个新属性 如何才能做到这一点?即使从DropDownList继承,也无法添加此属性,因为必须将其添加到ListItem控件。 但问题是ListItem类是密封的,因此您无法从中继承 你能用jQuery扩展客户端的功能吗?你能解释一下为什么需要创建一个定制的control3版本吗?是的,我在给David Robbins的评论中这样做了。是的,我知道它密封了。。。但是我能做什么呢?

我正在尝试创建一个从DropDownList继承的自定义控件

我需要的是向ListItem(在Item集合中)添加一个新属性



如何才能做到这一点?

即使从DropDownList继承,也无法添加此属性,因为必须将其添加到ListItem控件。

但问题是ListItem类是密封的,因此您无法从中继承

你能用jQuery扩展客户端的功能吗?

你能解释一下为什么需要创建一个定制的control3版本吗?是的,我在给David Robbins的评论中这样做了。是的,我知道它密封了。。。但是我能做什么呢?有什么解决方法吗?嗯,我不熟悉JQuery:(我需要这个属性来“发出信号”RenderContents以特定方式呈现特定项。当然,我可以通过在Text属性中传递此标志来完成此操作,但这不是干净的。在不查看代码的情况下,我可以提供一个有限的建议,创建一个结构来保存数据-值、描述、变量文本-并将其传递给客户端。创建一个响应单击,接收值,执行查找,然后根据要传递的变量text/“flag”进行操作。如果需要回发,请使用“flag”更新隐藏字段然后在服务器上阅读。重新思考我关于隐藏字段的最后一点评论。像往常一样发回,然后回复服务器上的SelectedItem。同样,如果你必须发回,那就是。我应该解释我正在尝试做什么。我想扩展dropdownlist,并提供一个选项来禁用某个项目。禁用是指阻止它被选中并单击。我计划通过添加新控件的覆盖的RenderContents来执行此操作。因此,我希望项具有一个属性“Disabled”,我可以在设计/运行时设置该属性,然后在RenderContents中,将标记添加到正确的项中。
<cc1:MyDropDownList ID="MyDropDownList1" runat="server">   
   <asp:ListItem myProperty="true" text="sometext" ... />                     

</cc1: MyDropDownList>