我想将超过1列绑定到下拉列表,这样我就可以在用户点击按钮时获取列值,
ddlListMine.DataSource = GetSomeChickens();
ddListMine.DataTextField = "ChickenName";
ddListMine.DataValueField= "NumberOfEggsChickenLay";
ddListMine.Items.Insert(0, new ListItem("Please Please Please Select....", "0"));
ddListMine.DataBind();
我有另一列“ChickenType”,我想在选定的索引更改列中访问。
GetSomeChickens()
;返回6列,包括ChickenName
,NumberOfEggsChickenLay
,ChickenType
等等......
修改
当然,我可以在选定的索引更改方法中再次调用数据库,但我必须有办法解决
答案 0 :(得分:0)
DropDownList在绑定期间不保存整个对象,只包含DataTextField和DataValueField定义的Text和Value。
为了获取所选对象,您可以通过使用Linq传递ChickenName来获取ChickenType的方法。
List<Chicken> Chickens = GetSomeChickens();
Var Chicken= Chickens.FirstOrDefault(c => c.ChickenName== ddlListMine.SelectedItem.Text);
if(Chicken!= null)
{
string ChickenType = Chicken.ChickenType ;
}