我正在尝试在下拉列表中包含占位符值。下拉列表应该是沃尔玛,凯马特等商店的列表。但是,我希望列表中的第一个值项目为“选择商店”。问题是我从数据库表中获取存储列表并将其绑定到下拉列表。所以现在,下拉列表显示:沃尔玛,凯马特,Hmart。我希望它显示:选择商店,沃尔玛,凯马特,Hmart。 注意:我使用的是ASP.NET C#。
HTML:
<asp:DropDownList ID="ddlStore" class="btn btn-primary dropdown-toggle" runat="server" AutoPostBack="true" Width="80%" OnSelectedIndexChanged="ddlStore_SelectedIndexChanged">
</asp:DropDownList>
代码隐藏:
public void getStores()
{
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.CommandText = "dbo.Store_Select";
DataSet ds;
ds = conn.GetDataSetUsingCmdObj(objCommand);
ddlStore.DataSource = ds.Tables[0];
if (ds.Tables[0].Rows.Count == 0)
{
/*No Store to display*/
}
else
{
foreach (DataRow current_row in ds.Tables[0].Rows)
{
ddlStore.DataTextField = "Store_Name";
ddlStore.DataValueField = "Store_ID";
}
}
ddlStore.DataBind();
}
谢谢。
答案 0 :(得分:2)
将数据库数据绑定到控件ddlStore.DataBind();
后,只需使用
ListItem
即可
ddlStore.Items.Insert(0, new ListItem("Select a store", ""));
完整方法:
public void getStores()
{
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.CommandText = "dbo.Store_Select";
DataSet ds;
ds = conn.GetDataSetUsingCmdObj(objCommand);
ddlStore.DataSource = ds.Tables[0];
if (ds.Tables[0].Rows.Count == 0)
{
/*No Store to display*/
}
else
{
foreach (DataRow current_row in ds.Tables[0].Rows)
{
ddlStore.DataTextField = "Store_Name";
ddlStore.DataValueField = "Store_ID";
}
}
ddlStore.DataBind();
ddlStore.Items.Insert(0, new ListItem("Select a store", ""));
}