我在MVC 4应用程序中显示Dropdownlist
时遇到问题。
它看起来很简单,但是仍然缺少一些没有得到的东西。
视图模型
public class vendorModel
{
public int vendorID { get; set; }
public int vendorTypeID { get; set; }
public string vendorName { get; set; }
public IEnumerable<vendorTypeModel> vendorTypes { get; set; }
}
public class vendorTypeModel
{
public int vendorTypeID { get; set; }
public string vendorTypeName { get; set; }
}
控制器
[HttpGet]
public ActionResult Vendor() {
vendorModel oVendor = new vendorModel();
oVendor.vendorTypes = blVendor.getAllVendorTypes();
return View(oVendor);
}
getAllVendorTypes
方法
这是我从数据库中获取记录并构建和返回List<vendorTypeModel>
对象的地方。
最后在View上使用以下代码。
@Html.DropDownListFor(m => m.vendorTypeID, new SelectList(Model.vendorTypes,"vendorTypeID","vendorTypeName"))
我做错了什么?我在屏幕上得到了以下结果。
而不是供应商的名称。
请说明我的代码有什么问题。
答案 0 :(得分:1)
我怀疑oVendor.vendorTypes = blVendor.getAllVendorTypes();
可能会返回错误的列表。设置断点并检查oVendor.vendorTypes
。
答案 1 :(得分:0)
根据https://stackoverflow.com/a/15195354/6741868,您可以尝试其他语法,例如:
@Html.DropDownListFor(m => m.vendorTypeID, Model.vendorTypes.Select(vendor => new SelectListItem()
{
Text = vendor.vendorTypeName,
Value = vendor.vendorTypeID
})