我正在尝试为数据绑定HTML Select控件中的每个列表项创建自定义属性.
生成的HTML输出应如下所示:
<select>
<option value="1" data-value="myValue1">item</option>
<option value="2" data-value="myValue2">item</option>
<option value="3" data-value="myValue3">item</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我尝试添加这样的属性,但它们没有被渲染:
<select id="selectList" class="multiselect" multiple="true" name="selectList[]" runat="server"></select>
Run Code Online (Sandbox Code Playgroud)
ListItemCollection values = new ListItemCollection();
ListItem test = new ListItem("add");
test.Attributes.Add("data-value", "myValue");
values.Add(test);
this.selectList.DataSource = values;
this.selectList.DataBind();
Run Code Online (Sandbox Code Playgroud)
有关如何实现这一点的任何想法?谢谢!
Vin*_*ayC 15
您必须为控件的列表项添加属性.对列表控件进行数据绑定只能设置名称和文本.最简单的方法是手动添加项而不是数据绑定 - 例如:
ListItem test = new ListItem("text1", "value1");
test.Attributes.Add("data-value", "myValue1");
applicationList.Items.Add(test);
Run Code Online (Sandbox Code Playgroud)
如果必须使用数据绑定,则必须处理DataBound事件,然后迭代控件的列表项并添加/设置所需的属性.坦率地说,我发现这是一种全面的做事方式.