GetColumn DataTable in for



我有一个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_fotoDataTable添加到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;//???

最新更新