如何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()调用中检查返回值来单独处理,以确保它不为空.