简体   繁体   English

Page_Load上的ASP下拉列表

[英]ASP Dropdown on Page_Load

I want to create a Drop Down using Aspx, which will list all the items contained in a data source but it will have an additional default value of "selected". 我想使用Aspx创建一个下拉列表,它将列出数据源中包含的所有项目,但是它将具有一个附加的默认值“ selected”。

In the aspx file, I have: 在aspx文件中,我有:

<aspx:DropDownList
    ID="ddl1"
    runat="server"/>

In my aspx.cs file, I have a page_load, which contains: 在我的aspx.cs文件中,有一个page_load,其中包含:

protected void Page_Load(object sender, EventArgs e)
{
  ddl1.DataSource = LocationofData;
  ddl1.DataBind();
}

And let's assume that LocationofData will populate the values "a,b,c,etc...". 并假设LocationofData将填充值“ a,b,c等”。 I want the default value to be "--selected--" 我希望默认值为“ --selected--”

How should I approach this? 我应该如何处理?

Thanks 谢谢

You can add this code 您可以添加此代码

ddl1.Items.Add("--selected--"); //After your bind

So : 因此:

ddl1.DataSource = LocationofData;
ddl1.DataBind();
ddl1.Items.Add("--selected--"); //After your bind

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

You can also use Insert method 您也可以使用Insert method

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

Try this 尝试这个

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--",""));
   }
}

I think best practice is to use ondatabound which calls the BaseDataBoundControl.DataBound event: ASP.NET Control: 我认为最佳实践是使用onDatabound,它调用BaseDataBoundControl.DataBound事件:ASP.NET控件:

<asp:DropDownList runat="server" ID="ddl1"
  ondatabound="MyListDataBound"></asp:DropDownList>

Code behind: 后面的代码:

protected void MyListDataBound(object sender, EventArgs e)
{
    ddl1.Items.Insert(0, new ListItem("- Select -", ""));
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM