Asp.net mvc ListBoxFor的MVC Razor两级模型

Asp.net mvc ListBoxFor的MVC Razor两级模型,asp.net-mvc,asp.net-core,asp.net-mvc-4,Asp.net Mvc,Asp.net Core,Asp.net Mvc 4,视图中是否有方法向下钻取一个级别以获取GenericValues中的数据对象?我知道我可以改变模型使其工作,但我不想添加额外的模型类 看法 @LabelFor(model=>model.selectedLanguage) @Html.ListBoxFor( x=>x.selectedLanguage, 新建SelectList(Model.ListOfLanguages,“Value.Value”、“Value.Name”), 新的{id=“multiselectLanguage”,@clas

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

看法


@LabelFor(model=>model.selectedLanguage)
@Html.ListBoxFor(
x=>x.selectedLanguage,
新建SelectList(Model.ListOfLanguages,“Value.Value”、“Value.Name”),
新的{id=“multiselectLanguage”,@class=“form control”})
模型

公共列表语言列表{get;set;}
公共类语言模型
{
公共字符串等位码{get;set;}
公共GenericValues值{get;set;}
}
公共类泛型值
{
公共字符串名称{get;set;}
公共int值{get;set;}
}

您可以使用linq获取
列表

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