繁体   English   中英

数据源,绑定超过1个值

[英]DataSource, bind more then 1 value

我想将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等等。

编辑

当然,我可以使用选定的索引更改方法再次调用数据库,但是我认为必须有一种解决方法

在绑定期间,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 ;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM