Answers:
绑定数据后:
drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
drpList.SelectedIndex = 0;
您可以使用AppendDataBoundItems=true
轻松添加:
<asp:DropDownList ID="drpList" AppendDataBoundItems="true" runat="server"><br/>
<asp:ListItem Text="" Value="" /><br/>
</asp:DropDownList>
数据绑定是在添加空白列表项之后进行的,它将替换已有的列表项,您需要将空白项从控制器添加到列表的开头,或者在数据绑定后添加。
编辑:
从ASP.Net 2.0开始快速搜索之后,您可以设置一个“ AppendDataBoundItems” true属性,以...附加数据绑定项。
有关详细信息,请参见
我认为更好的方法是先插入空白项,然后像您一直在绑定数据一样。但是,您需要设置AppendDataBoundItems
列表控件的属性。
我们使用以下方法将任何数据源绑定到任何列表控件...
public static void BindList(ListControl list, IEnumerable datasource, string valueName, string textName)
{
list.Items.Clear();
list.Items.Add("", "");
list.AppendDataBoundItems = true;
list.DataValueField = valueName;
list.DataTextField = textName;
list.DataSource = datasource;
list.DataBind();
}
就像“ Whisk” said一样,窍门在“ AppendDataBoundItems”属性中
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.AppendDataBoundItems = true;
DropDownList1.Items.Insert(0, new ListItem(String.Empty, String.Empty));
DropDownList1.SelectedIndex = 0;
}
}
谢谢“打扫”
看来您要添加一个空白项目,然后进行数据绑定,这将清空列表;尝试在数据绑定后插入空白项目
ddlCategory.DataSource = ds;
ddlCategory.DataTextField = "CatName";
ddlCategory.DataValueField = "CatID";
步骤1:
ddlCategory.Items.Add(new ListItem("--please select--", "-1"));
ddlCategory.AppendDataBoundItems = true;
ddlCategory.SelectedIndex = -1;
ddlCategory.DataBind();
步骤2:
ddlCategory.Items.Insert(0, new ListItem("-- please select --", "0"));
(测试通过)
您还可以将空白选择与具有内容的选择结合起来:
select '' value, '' name
union
select value, name from mytable