我有一个DataTable
DataTable dt = new DataTable ();
dt.Load (..etc..
与以下数据(示例):
str_foto int_ID strRef
--------------------------
1.jpg 1 tesxt01
2.jpg 2 Teszt02
等。
有一个DropDownList
DDL_Imagens.DataSource = dt;
DDL_Imagens.DataTextField = "strRef";
DDL_Imagens.DataValueField = "int_ID";
DDL_Imagens.DataBind ();
我想给每个项目添加一个属性。
for (int i = 0; i <DDL_Imagens.Items.Count; i + +)
{
ListItem item = DDL_Imagens.Items[i];
item.Attributes ["data-img-src"] = dt.Rows[0].DataBoundItem;//???
}
如何将列str_foto
从DataTable
添加到DropDownList
?
我试着:
dt.Rows.Rows[0].DataBoundItem;
dt.Rows.Rows[0].ToString();
最终结果应该是:
<select name="ctl00$MainContent$DDL_Imagens" id="ctl00_MainContent_DDL_Imagens">
<option value="11713536" data-img-src="1.jpg">100</option>
<option value="11753979" data-img-src="2.jpg">434</option>
<option value="11754913" data-img-src="3.jpg">rtr4</option>
</select>
你可以这样做
for (int i = 0; i <DDL_Imagens.Items.Count; i + +)
{
ListItem item = DDL_Imagens.Items[i];
item.Attributes.Add("data-img-src", Convert.ToString(dt.Rows[i][0]))
}
或
for (int i = 0; i <DDL_Imagens.Items.Count; i + +)
{
ListItem item = DDL_Imagens.Items[i];
item.Attributes.Add("data-img-src", Convert.ToString(dt.Rows[i]["str_foto"]))
}
希望能有所帮助
我认为正确的语法是:
item.Attributes.Add("data-img-src", dt.Rows.Rows[0].DataBoundItem);
代替:
item.Attributes ["data-img-src"] = dt.Rows.Rows[0].DataBoundItem;//???