如果有一个DataTextValueField, asp.net下拉列表不显示DataTextField

本文关键字:下拉列表 显示 DataTextField net asp 有一个 DataTextValueField 如果 | 更新日期: 2023-09-27 18:08:44

我的DropDownList中有一个DataValueField和一个DataTextField。数据来自DataSet,我希望dropdownlistDataset的文本字段显示为预选文本。Dataset填充来自mysql table的数据,包含"id"answers"text"。DropDownList代码为:

<asp:DropDownList runat="server" DataValueField="id" 
DataTextField="text" ID="statusList" CssClass="viewItemRight" 
AutoPostBack="true"></asp:DropDownList>

如果没有DataValueField -标签,DropDownList将正确显示DataSet中的文本值作为DropDownList中的预选文本。但是如果我添加DataValueField, DataTextField不显示任何预先选择的文本在DropDownList

数据的代码为:

//load statusList
            cmd = new MySqlCommand();
            cmd.CommandText = "SELECT * FROM statuslist WHERE active = '1' ORDER BY sorting ASC";
            cmd.Connection = con;
            sda = new MySqlDataAdapter(cmd);
            ds = new DataSet();
            sda.Fill(ds);
            statusList.DataSource = ds;
            statusList.DataBind();
            statusList.Items.Insert(0, " ");

如何同时使用DataValueFieldDataTextField ?

如果有一个DataTextValueField, asp.net下拉列表不显示DataTextField

试试这样

代码:

DataTable dt = populatedd();
   statusList.DataSource = dt;
   statusList.DataTextField = "name";
   statusList.DataValueField = "id";
   statusList.DataBind();
    public DataTable populatedd()
    {
        string myQuery = "select id,name from yourtable order by name";
        SqlDataAdapter dap = new SqlDataAdapter(myQuery, con);
        DataSet ds = new DataSet();
        dap.Fill(ds);
        return ds.Tables[0];
    }

标记
<asp:DropDownList runat="server" ID="statusList" CssClass="viewItemRight" 
AutoPostBack="true"></asp:DropDownList>