我有一个绑定的下拉列表,通过select和数据绑定填充了一个名称表。它射击selectedindexchanged(通过回发)更新某个gridview。
发生的事情是,因为它是通过改变索引来运行的,所以总是被选中的那个(亚历山大)只有我选择了另一个,然后选择亚历山大。可怜的亚历山大。
我想要的是在开头(默认)和(如果可能的话)将选项作为第二个选项放置一个blanc选项。
我无法手动添加此选项,因为绑定会擦除下拉列表中的所有内容并放置数据源的内容。
答案 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 =值。