2013-10-31 45 views
1

我正在从数据库中使用列表<>获取项目列表。在描述中,我不想用与获取产品名称和价格相同的方法。使用列表<product>

List<Products> product = productBL.AllProducts(); 
ddProductName.DataTextField = "ProductName"; 
ddProductName.DataValueField = "ProductId"; 
ddProductName.DataSource = product; 
ddProductName.DataBind(); 
ddProductPrice.DataTextField = "ProductPrice"; 
ddProductPrice.DataValueField = "ProductPrice"; 
ddProductPrice.DataSource = product; 
ddProductPrice.DataBind(); 

我不想用下面的描述。

productDescription.DataTextField = "ProductDescription"; 
productDescription.DataValueField = "ProductDescription"; 
productDescription.DataSource = product; 
productDescription.DataBind(); 

有没有办法写:

productDescription.Text = product.Description; 

,因为说明是只读的,所以我为什么要编写2条线。

+6

这是真的不清楚你在问什么。请重新阅读我们的观点并编辑。 –

+0

是的,请重写它,因为它不清楚你的问题是什么。 – Tafari

+0

我的请求是不使用databind()获取描述。我想在代码中编写少两行代码。 – Sohail

回答

2

你的问题根本不清楚。 但是, 一样,如果你想显示你的产品名称,以及它的描述,您的下拉列表项目,然后,创造出concatting这两另一个属性:

Product.NewPropertyName = (ProductName + Description) 

,并绑定像

ddProductName.DataTextField = "NewPropertyName"; 
+0

我想在其他文本框中显示说明。 – Sohail

+0

thnx,你的代码帮助我更接近我的愿望:) – Sohail

+0

我很高兴它有帮助。干杯! –

0
foreach (Products p in product) 
{ 
    ProductDescription.Items.Add(p.ProductDescription, p.ProductDescription) 
} 

这是要么使用你上面写的数据绑定表达式。没有更简单的方法来填充除了您所写的内容以及上面所写的内容之外的项目的下拉列表。