Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加载页面上的ASP下拉列表_C#_Asp.net - Fatal编程技术网

C# 加载页面上的ASP下拉列表

C# 加载页面上的ASP下拉列表,c#,asp.net,C#,Asp.net,我想使用Aspx创建一个下拉列表,它将列出数据源中包含的所有项目,但它还有一个额外的默认值“selected” 在aspx文件中,我有: <aspx:DropDownList ID="ddl1" runat="server"/> 让我们假设LocationofData将填充值“a、b、c等…”。我希望默认值为“-selected--” 我应该如何处理这个问题 谢谢您可以添加此代码 ddl1.Items.Add("--selected--"); //After you

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

在aspx文件中,我有:

<aspx:DropDownList
    ID="ddl1"
    runat="server"/>
让我们假设LocationofData将填充值“a、b、c等…”。我希望默认值为“-selected--”

我应该如何处理这个问题

谢谢

您可以添加此代码

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

链接:

您也可以使用
Insert方法

链接:

试试这个

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

我认为最佳实践是使用ondatabound,它调用BaseDataBoundControl.DataBound事件: ASP.NET控件:

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

我试过了,我相信你的订单是反向的。它应该是:newlistItem(“--Select--”和“”);谢谢你的回复。另外,为什么它发生在DataBind()之后?为什么不绑定新项?将数据绑定到dropdownlist会用新数据刷新它。dropdownlist有一个
AppendDataBoundItems
属性,可以用来避免出现这种情况,但我不喜欢它。它总是给人带来麻烦。绑定后,然后插入到位置0,第一个项目位置。为什么要在绑定后添加项目?@Rhs以便在控件顶部打印,这是众所周知的
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--",""));
   }
}
<asp:DropDownList runat="server" ID="ddl1"
  ondatabound="MyListDataBound"></asp:DropDownList>
protected void MyListDataBound(object sender, EventArgs e)
{
    ddl1.Items.Insert(0, new ListItem("- Select -", ""));
}