これに関連するすべての例を見ましたが、問題を解決できませんでした。
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() が問題を引き起こしているようです。しかし、それを修正する方法がわかりません。
ありがとう。