我有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>
答案 0 :(得分:2)
你可以做这样的事情
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"]))
}
希望这有帮助
答案 1 :(得分:0)
我认为正确的语法是:
item.Attributes.Add("data-img-src", dt.Rows.Rows[0].DataBoundItem);
而不是:
item.Attributes ["data-img-src"] = dt.Rows.Rows[0].DataBoundItem;//???