【问题标题】:MVC Razor two level Model for ListBoxForListBoxFor 的 MVC Razor 两级模型
【发布时间】:2021-04-25 11:49:40
【问题描述】:

视图中有没有一种方法可以向下钻取一层以获取 GenericValues 中的数据对象?我知道我可以更改模型以使其工作,但我不想添加额外的模型类?

查看

<div class="form-group row">
     @Html.LabelFor(model => model.selectedLanguage)
     @Html.ListBoxFor(
           x => x.selectedLanguage,
           new SelectList(Model.ListOfLanguages, "Value.Value", "Value.Name"),
           new { id = "multiselectLanguage", @class = "form-control" })
</div>

型号

public List<LanguageModel> ListOfLanguages { get; set; }

    public class LanguageModel
    {
        public string ISOCode { get; set; }
        public GenericValues Values { get; set; }
    }

public class GenericValues
    {
        public string Name { get; set; }
        public int Value { get; set; }
    }

【问题讨论】:

    标签: asp.net-mvc asp.net-core asp.net-mvc-4


    【解决方案1】:

    你可以使用linq获取list&lt;GenericValues&gt;:

    @Html.ListBoxFor(
              x => x.selectedLanguage,
              new SelectList(Model.ListOfLanguages.Select(x => x.Values).Distinct(), "Value", "Name"),
              new { id = "multiselectLanguage", @class = "form-control" })
    

    【讨论】:

      猜你喜欢
      • 2014-06-15
      • 2023-03-12
      • 1970-01-01
      • 2014-08-24
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      相关资源
      最近更新 更多