如何使用C#将数据属性添加到下拉菜单

我有一个标准的下拉列表,并能够数据绑定到列表。

 Select Make  

我想在下面的选项中添加一个数据属性:

 <asp:ListItem data-siteid="">Select Make 

我显然收到错误,因为它无法识别data-siteid。

该列表是数据绑定的。

任何提示都会很方便

您可以在代码隐藏中执行此操作。 我不确定这是否是最优雅的方法,但它应该有效。

 Dim dataSrc() As String = {"ABC", "123", "!@*#"} drp.DataSource = dataSrc drp.DataBind() For i = 0 To drp.Items.Count - 1 drp.Items(i).Attributes.Add("data-siteId", dataSrc(i)) Next 

此外,如果这只是不是数据绑定的东西,你可以考虑使用HtmlSelect控件,它也应该工作:

  

我最终使用了转发器,因为页面不需要重新发布。 这使我不必使用ondatabound事件。

           

如果不需要事件处理,您可以使用纯HTML重写它:

   

我最终做了这个(其中ds是数据集):

 for (int row = 0; row <= ds.Tables(0).Rows.Count - 1; row++) { ddl.Items(row).Attributes.Add("data-siteid", ds.Tables(0).Rows(row)("SiteID")); }