DataSource,绑定超过1个值

时间:2014-06-09 09:52:51

标签: c# data-binding

我想将超过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列,包括ChickenNameNumberOfEggsChickenLayChickenType等等......

修改

当然,我可以在选定的索引更改方法中再次调用数据库,但我必须有办法解决

1 个答案:

答案 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 ;
}