我看到“不包含...的定义”错误。
以下是View
中的代码 @model Variant.SystemV.Web.Models._TaggingVM
@Html.ListBoxFor(x=>x.Tags, Model.SelectedTags, new { @class = "chzn-select", data_placeholder = "Select Tag(s)...", style = "width: 500px" })
这是我的模特
public class _TaggingVM
{
public IEnumerable<Tag> SelectedTags { get; set; }
public IEnumerable<Tag> Tags { get; set; }
public Article Article { get; set; }
}
答案 0 :(得分:3)
这是因为Html.ListBoxFor()扩展名的参数类型为IEnumerable<SelectListItem>
,并且您的viewmodel中的属性可能无法实现它。
您可以在视图中创建项目,如下所示:
@Html.ListBoxFor(x => x.SelectedTags, new SelectList(Model.Tags, "Id", "Text"))
它假设您的Tag类中有名为Id和Text的属性。您也应该在表达式中使用SelectedTags属性。它将确保您在发布表单时收回它们。