razor - 剃刀选择框无法转换 lambda 表达式
问题描述
我需要将其转换<select id="degreemultiselect" multiple="multiple"></select
为剃刀控件@Html.DropDownList
,但我收到错误消息“无法将 lambda 表达式转换为类型字符串?” 是因为模型是一个列表public List<DegreeModel> selectedRequesterDegrees { get; set; }
,有没有解决这个问题的方法?
@Html.DropDownList(x => x.selectedRequesterDegrees, new { id = "degreemultiselect", @class = "form-control" })
@Html.ValidationMessageFor(model => model.selectedRequesterDegrees)
解决方案
这是一个工作演示:
模型:
public class Test
{
public List<DegreeModel> selectedRequesterDegrees { get; set; }
}
看法:
@model Test
@Html.DropDownListFor(x => x.selectedRequesterDegrees, new SelectList(Model.selectedRequesterDegrees, "Id", "Name"), null, new { id = "degreemultiselect", @class = "form-control" })
控制器:
[HttpGet]
public ActionResult Index()
{
var model = new Test()
{
selectedRequesterDegrees = new List<DegreeModel>()
{
new DegreeModel(){ Id=1,Name="aa"},
new DegreeModel(){ Id=2,Name="bb"},
new DegreeModel(){ Id=3,Name="cc"}
}
};
return View(model);
}
结果:
推荐阅读
- dialog - 如何使用 .ftl 语言访问 magnolia 6.2 中可切换 fieldType 对话框的值
- javascript - 转移表格中的号码
- python - bump2version 增加预发布,同时删除发布后段
- python - 检查 Pandas DataFrame 中每一行到其他行的 Levenshtein 距离?
- mule - 骡子4中的Dataweave2.0
- reactjs - 推送路由以更改 url 而无需重新加载页面
- c# - 无法弄清楚如何在 C# 中删除 Windows 控制台底部的空白空间
- verilog - Verilog 嵌套的“if”语义
- python - 同时运行 LED 闪烁和蜂鸣器声音功能
- css - 突出显示 R Reactable 已经具有默认背景标题样式的排序标题?