我查看了与此相关的所有示例,但未能解决我的问题。
我在 asp .net mvc3 中创建一个下拉列表。
我有一个返回的存储库:
public IEnumerable<SelectListItem> GetPropertyTypeSelectList()
{
var propertyTypes = from p in db.PropertyType
orderby p.PropertyTypeDescription
select new SelectListItem
{
Text = p.PropertyTypeDescription,
Value = p.PropertyTypeId.ToString()
};
return propertyTypes;
}
我的视图模型如下所示:
public class AddPropertyViewModel
{
public Property Property { get; set; }
public IEnumerable<SelectListItem> PropertyTypes { get; set; }
public IEnumerable<SelectListItem> FurnishedTypes { get; set; }
}
我的 HttpGet 的“创建”操作控制器如下所示:
public ActionResult AddProperty()
{
AddPropertyViewModel viewModel = new AddPropertyViewModel
{
PropertyTypes = websiterepository.GetPropertyTypeSelectList()
};
return View(viewModel);
}
视图是这样的:
<div class="editor-label">
@Html.LabelFor(model => model.Property.PropertyType)
@Html.DropDownListFor(model => model.Property.PropertyType, Model.PropertyTypes)
</div>
我收到上面的错误。从我读过的内容来看,似乎是 ToString() 导致了问题。但我不知道如何纠正它。
谢谢。