如果有一个DataTextValueField, asp.net下拉列表不显示DataTextField
本文关键字:下拉列表 显示 DataTextField net asp 有一个 DataTextValueField 如果 | 更新日期: 2023-09-27 18:08:44
我的DropDownList
中有一个DataValueField
和一个DataTextField
。数据来自DataSet
,我希望dropdownlist
将Dataset
的文本字段显示为预选文本。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, " ");
如何同时使用DataValueField
和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>