【问题标题】:How do I use @Html.ListBoxFor method in ASP.Net MVC 3?如何在 ASP.Net MVC 3 中使用 @Html.ListBoxFor 方法?
【发布时间】:2012-12-07 20:41:00
【问题描述】:

我看到“不包含...的定义”错误。

这是视图中的代码

      @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; }
}

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 razor


    【解决方案1】:

    这是因为Html.ListBoxFor() 扩展采用IEnumerable&lt;SelectListItem&gt; 的参数类型,并且可能您的视图模型中的属性没有实现它。

    您可以像这样在视图中创建项目:

    @Html.ListBoxFor(x => x.SelectedTags, new SelectList(Model.Tags, "Id", "Text"))
    

    假设您的 Tag 类中有名为 Id 和 Text 的属性。此外,您可能应该在表达式中使用 SelectedTags 属性。它将确保您在表单发布时将它们收集回来。

    【讨论】:

      猜你喜欢
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多