Asp.net mvc ListBoxFor的MVC Razor两级模型
视图中是否有方法向下钻取一个级别以获取GenericValues中的数据对象?我知道我可以改变模型使其工作,但我不想添加额外的模型类 看法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
@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" })