将附加标签添加到DropDown列表

时间:2017-03-27 15:16:28

标签: c# asp.net-mvc razor

我有以下dropdown列表,我想添加存储在我的数据库中的成员资格的“cost”。我还希望它在dropdown列表中显示时格式化为货币。有没有办法做到这一点?

数据列是SignupFee

@Html.DropDownListFor(m => m.Customer.MemberShipTypeID, new SelectList(Model.MembershipTypes, "Id", "Name"), "", new { @class = "form-control" })

1 个答案:

答案 0 :(得分:1)

而不是:

new SelectList(Model.MembershipTypes, "Id", "Name")

执行:

Model.MembershipTypes.Select(m => new SelectListItem
{
    Value = m.Id.ToString(),
    Text = String.Format("{0} {1:C}", m.Name, m.Cost)
});

所有DropDownListFor需求都是IEnumerable<SelectListItem>,通过使用LINQ&#39; Select,您可以准确自定义Text值的设置方式。