在asp.net的绑定下拉列表中添加自定义选项

时间:2010-04-05 19:56:40

标签: c# .net asp.net drop-down-menu

我有一个绑定的下拉列表,通过select和数据绑定填充了一个名称表。它射击selectedindexchanged(通过回发)更新某个gridview。

发生的事情是,因为它是通过改变索引来运行的,所以总是被选中的那个(亚历山大)只有我选择了另一个,然后选择亚历山大。可怜的亚历山大。

我想要的是在开头(默认)和(如果可能的话)将选项作为第二个选项放置一个blanc选项。

我无法手动添加此选项,因为绑定会擦除下拉列表中的所有内容并放置数据源的内容。

2 个答案:

答案 0 :(得分:3)

AppendDataBoundItems属性设置为True。添加空白,然后添加数据绑定。

ddl.AppendDataBoundItems = true;
ddl.Items.Add("Choose an item");
ddl.DataSource = foo;
ddl.DataBind();
  

AppendDataBoundItems属性   允许您添加项目   ListControl对象在数据之前   发生绑定。数据绑定后,   items集包含两者   来自数据源的项目和   以前添加的项目。

答案 1 :(得分:0)

        protected void SetAddrList()
    {
        TestDataClassDataContext dc = new TestDataClassDataContext();
        dc.ObjectTrackingEnabled = false;

        var addList = from addr in dc.Addresses
                      from eaddr in dc.EmployeeAddresses
                      where eaddr.EmployeeID == _curEmpID && addr.AddressID == eaddr.AddressID && addr.StateProvince.CountryRegionCode == "US"
                      select new
                      {
                          AddValue = addr.AddressID,
                          AddText = addr.AddressID,
                      };
        if (addList != null)
        {
            ddlAddList.DataSource = addList;
            ddlAddList.DataValueField = "AddValue";
            ddlAddList.DataTextField = "AddText";
            ddlAddList.DataBind();
        }

        ddlAddList.Items.Add(new ListItem("<Add Address>", "-1"));
    }

我使用冒险作品创建了这个代码示例,以便与Linq进行一些练习,它与之前的答案非常相似。使用linq仍然无关紧要的答案,最后一个dddlAddList.Items.Add是你需要的。 “添加地址”=首先选择的选项,-1 =值。