4

我将下拉列表绑定到数据源,并在代码隐藏中定义了文本和值列。

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

它工作正常。但我想再分配一列给DataTextField, Order_Date。我尝试了这个机会:

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

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

4

3 回答 3

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();
于 2013-11-12T12:26:23.610 回答
1

事实证明,最好的方法是按照 Freak_Droid 的建议直接从数据库中获取价值,我按照他的方式进行操作。

于 2013-11-13T12:51:23.157 回答
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">
于 2016-05-16T15:13:36.440 回答