datatextfield上的多个值

时间:2013-11-12 12:14:31

标签: asp.net

我将下拉列表绑定到数据源,并在代码隐藏上定义了text和value列。

DropDownList1.DataTextField = "Product_Name"
DropDownList1.DataValueField = "Product_ID"

工作正常。但我想再向DataTextFieldOrder_Date分配一列。我尝试了这个机会:

DropDownList1.DataTextField = "Product_Name"+"Order_Date"
    DropDownList1.DataValueField = "Product_ID"

但它没有用。是否可以在DataTextField上显示多个值?

3 个答案:

答案 0 :(得分:4)

是的,可以通过以下代码尝试:

var datasource = from x in products
             select new {
                 x.Id,
                 x.Code,
                 x.Description,
                 DisplayField = String.Format("{0} ({1})", x.Code, x.Description)
             };

DropDownList1.DataSource = datasource;
DropDownList1.DataValueField = "Id";
DropDownList1.DataTextField = "DisplayField";
DropDownList1.DataBind();

答案 1 :(得分:1)

我使用对象datasource来填充dropdownlist并在模型中创建了一个新属性

public string Datatextfield
{
    get
    {
        return Name + " - Date:  " + Date.ToShortDateString();
    }
    set { Datatextfield = value; }
}

aspx中我使用了这样的属性:

<asp:DropDownList ID="ddlList" DataSourceID="obj" runat="server" DataTextField="Datatextfield" DataValueField="ID">

答案 2 :(得分:0)

事实证明,最好的方法是直接从数据库中获取价值,因为Freak_Droid建议我跟着他的方式。