C# 在数据绑定事件中将属性添加到DropDownList?
我有一个dropdownlist,我正在绑定到DataTableC# 在数据绑定事件中将属性添加到DropDownList?,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我有一个dropdownlist,我正在绑定到DataTable ddlItems.DataSource = dt; ddlItems.DataBind(); 在最终的html中,我有: ... <option value="-1">aaa</option> <option value="-2">bbb</option> ... e只有: 如何捕获特定的有界listItem p、 美国 我不想取消数据绑定事件,也不想使用常规循环在循环中
ddlItems.DataSource = dt;
ddlItems.DataBind();
在最终的html中,我有:
...
<option value="-1">aaa</option>
<option value="-2">bbb</option>
...
e只有:
如何捕获特定的有界listItem
p、 美国
我不想取消数据绑定事件,也不想使用常规循环在循环中添加lisItemsDropDownList.databound事件在为整个DropDownList调用DropDownList.DataBind后激发
项目是没有事件的ListItemCollection
您必须再次手动循环DropDownList.Items集合,或者手动构建ListItemCollection并添加它
注意:您可能不喜欢的另一种方法是扩展DropDownList和ListItemCollection,并添加所需的事件。DropDownList.DataBound事件在为整个DropDownList调用DropDownList.DataBind后激发
项目是没有事件的ListItemCollection
您必须再次手动循环DropDownList.Items集合,或者手动构建ListItemCollection并添加它
注意:您可能不喜欢的另一种选择是扩展DropDownList和ListItemCollection并添加所需的事件。您需要的是类似于GridView.RowDataBound的内容,DropDownList中不存在GridView.RowDataBound。您需要做的是在DataBound事件中创建一个foreach循环,或者您可以通过构建自己的定制DropDownList来添加此功能。后一个选项的唯一问题是Microsoft并不总是公开您需要覆盖的方法。。。因此,我无法建议做您想做的事情有多容易或有多难。您想做的事情与GridView.rowdabund类似,DropDownList中不存在GridView.rowdabund。您需要做的是在DataBound事件中创建一个foreach循环,或者您可以通过构建自己的定制DropDownList来添加此功能。后一个选项的唯一问题是Microsoft并不总是公开您需要覆盖的方法。。。因此,我无法建议做你想做的事情有多容易或难。我不想。。。使用常规循环在循环中添加ListItems。恐怕你别无选择。但将不存在的属性添加到ListItems。如果您能告诉我们您实际想要实现的目标,可能会有更好的方法。发件人是什么?你能把它投射到ListItem吗?@MBen不,,,它的DropDownList@RoyiNamir:然后施展它,并获得SelectedIndex@MBen它不起作用,它一次将所有6个列表项绑定起来!。。。。我不想。。。使用常规循环在循环中添加ListItems。恐怕你别无选择。但将不存在的属性添加到ListItems。如果您能告诉我们您实际想要实现的目标,可能会有更好的方法。发件人是什么?你能把它投射到ListItem吗?@MBen不,,,它的DropDownList@RoyiNamir:然后施展它,并获得SelectedIndex@MBen它不起作用,它一次将所有6个列表项绑定起来!。。。。
...
<option value="-1" MyAttr="lalala1" >aaa</option>
<option value="-2" MyAttr="lalala2" >bbb</option>
...
protected void ddlItemsDataBound(object sender, EventArgs e)