我有一个下拉列表,可从sqlserver数据库中的表读取数据 该表有2列(ID,Name) 所以我写:
ddl.DataValueField = "ID";
ddl.DataTextField = "Name";
我要插入(-选择名称-)之类的项作为下拉列表中的第一项。所以我写
ddl.Items.Insert(0, "-- Select --");
我的问题是:
为什么当我从下拉列表中选择一个名称时,
我得到ddl.selectedvalue =该名称的ID
但是当我选择(-- Select --),
时
我得到ddl.selectedvalue = (-- Select --) not 0
吗?
答案 0 :(得分:0)
绑定数据源并在DropDownList
的第0个索引处添加自定义项目的简单流程
ddl.DataSource = YOUR_DATA_SOURCE;
ddl.DataValueField = "Id";
ddl.DataTextField = "Name";
ddl.DataBind();
// ADD YOUR CUSTOM ITEM AFTER BINDING DATASOURCE
ddl.Items.Insert(0, new ListItem("---Select---", "0"));
答案 1 :(得分:0)
实际上
ddl.Items.Insert(0, "-- Select --");
这表示下拉列表零索引处的值是“ --Select--”。现在,如果下拉列表没有同时找到文本和值...那么它也将文本复制到值字段。这就是为什么您还获得“ --Select--”值的原因 所以用这个
ddl.Items.Insert(0, new ListItem("---Select---", "0"));
同时指定文本和值。这样您就可以将所选值设为零。