0

我想使用 Aspx 创建一个下拉列表,它将列出数据源中包含的所有项目,但它会有一个额外的默认值“选定”。

在 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,etc...”。我希望默认值为“--selected--”

我应该如何处理这个?

谢谢

4

3 回答 3

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

链接:http: //msdn.microsoft.com/en-us/library/ffx2x2y2.aspx

于 2012-10-09T17:21:10.537 回答
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--",""));
   }
}
于 2012-10-09T17:22:06.160 回答
0

我认为最佳做法是使用 ondatabound 调用 BaseDataBoundControl.DataBound 事件: 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 -", ""));
}
于 2012-10-09T17:29:47.667 回答