如何DataBind列表<>的对象到DropDownList并根据对象中的属性设置SelectedItem?
例如说我有一个
列表与LT;人>
人物有3个属性…
- Person .Name (string)
- .Id (int)
- .Selected (bool)
我想要的第一个与Selected == true作为列表中的SelectedItem.
解决方法
尝试这个:
- List<Person> list = new List<Person>();
- // populate the list somehow
- if ( !IsPostBack )
- {
- DropDownList ddl = new DropDownList();
- ddl.DataTextField = "Name";
- ddl.DataValueField = "Id";
- ddl.DataSource = list;
- ddl.DataBind();
- ddl.SelectedValue = list.Find( o => o.Selected == true ).Id.ToString();
- }
如果您不能保证始终至少有一个选定的项目,那么您需要通过从list.Find()调用中检查返回值来单独处理,以确保它不为空.