2010-06-26 62 views
0

该方法具有返回类型的集合< businessEntity>。我从aspx页面调用该方法以填充下拉列表 - >ddlDropDown。我结合自己DataTextFieldddlDropDownBusinessEntity.NameDataValueFieldBusinessEntity.Id,业务实体包含另一个id,这将是BusinessEntity.ProductId。我需要使用后面代码中下拉列表中选定值的ProductId。你能帮我建议我怎么做?如何检索业务实体中的其他值

一种可能的方式可能是背后呼吁代码在Page_Load方法和保存集合在一个隐藏的变量,并在需要时通过在隐藏变量做一个循环并检索选定值产品编号

您的想法请。

回答

0

您当然可以使用隐藏字段来完成此操作。

下面是另一个想法:将DataValueField绑定到一个特殊的派生字符串,其中包含BusinessEntity.Id和BusinessEntity.ProductId。

换句话说,将BusinessEntity.Id和BusinessEntity.ProductId连接成一个单独的字符串,例如用管道(“|”)符号分隔。

E.g绑定:

ddlFoo.DataValueField = string.Format("{0}|{1}", "Id", "ProductId"); 

然后检索选定的项目:

var id = ddlFoo.SelectedValue.Split("|")[0]; 
var productId = ddlFoo.SelectedValue.Split("|")[1]; 

节省您的循环/匹配。再一次,它不是理想的,但是又没有将多个值类型绑定到下拉列表。

相关问题