我想使用Aspx创建一个Drop Down,它会列出数据源中包含的所有项目,但它会有一个额外的默认值“selected”。
在aspx文件中,我有:
<aspx:DropDownList
ID="ddl1"
runat="server"/>
在我的aspx.cs文件中,我有一个page_load,其中包含:
protected void Page_Load(object sender, EventArgs e)
{
ddl1.DataSource = LocationofData;
ddl1.DataBind();
}
让我们假设LocationofData将填充值“a,b,c等......”。我希望默认值为“--selected - ”
我该如何处理?
由于
答案 0 :(得分:0)
您可以添加此代码
ddl1.Items.Add("--selected--"); //After your bind
所以:
ddl1.DataSource = LocationofData;
ddl1.DataBind();
ddl1.Items.Add("--selected--"); //After your bind
链接:http://msdn.microsoft.com/en-us/library/e7s6873c.aspx
您也可以使用Insert method
答案 1 :(得分:0)
试试这个
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
ddl1.DataSource = LocationofData;
ddl1.DataBind();
//first item in the list
ddl1.Items.Insert(0, new ListItem("-- Select--",""));
}
}
答案 2 :(得分:0)
我认为最佳做法是使用调用BaseDataBoundControl.DataBound事件的ondatabound: ASP.NET控件:
<asp:DropDownList runat="server" ID="ddl1"
ondatabound="MyListDataBound"></asp:DropDownList>
代码背后:
protected void MyListDataBound(object sender, EventArgs e)
{
ddl1.Items.Insert(0, new ListItem("- Select -", ""));
}