是否可以将 Lambda 与 List<ViewModel> 模型一起使用?
Is it possible to use Lambda with model of List<ViewModel>?
当模型是 List 类型时,我们如何使用它的 lambda?
@model List<ViewModels.MyModel>
这不适用于 EditorFor
@Html.EditorFor(m=>m.FirstOrDefault().Value)
如何将模型与 EditorFor 绑定?
您已经对其进行了迭代并在它作为集合时进行了索引:
@for(int i =0; i <Model.Count; i ++)
{
@Html.EditorFor(m=> Model[i].Value)
}
完整示例如下:
您的控制器代码:
public class ModelValue
{
public int ID { get; set; }
public string Name { get; set; }
}
public class TestController : Controller
{
public ActionResult Index()
{
List<ModelValue> model = new List<ModelValue>();
for (int i = 0; i < 12; i++)
{
model.Add(new ModelValue { ID = i, Name = "Name " + i.ToString() });
}
return View(model);
}
[HttpPost]
public ActionResult Index(List<ModelValue> model)
{
return View(model);
}
}
您的查看代码:
@model List<MVCApp.Controllers.ModelValue>
@using (Html.BeginForm())
{
for (int i = 0; i < Model.Count; i++)
{
@Html.EditorFor(modelitem => Model[i].ID)
@Html.EditorFor(modelitem => Model[i].Name)
<br />
}
<button type="submit">Go</button>
}
当模型是 List 类型时,我们如何使用它的 lambda?
@model List<ViewModels.MyModel>
这不适用于 EditorFor
@Html.EditorFor(m=>m.FirstOrDefault().Value)
如何将模型与 EditorFor 绑定?
您已经对其进行了迭代并在它作为集合时进行了索引:
@for(int i =0; i <Model.Count; i ++)
{
@Html.EditorFor(m=> Model[i].Value)
}
完整示例如下:
您的控制器代码:
public class ModelValue
{
public int ID { get; set; }
public string Name { get; set; }
}
public class TestController : Controller
{
public ActionResult Index()
{
List<ModelValue> model = new List<ModelValue>();
for (int i = 0; i < 12; i++)
{
model.Add(new ModelValue { ID = i, Name = "Name " + i.ToString() });
}
return View(model);
}
[HttpPost]
public ActionResult Index(List<ModelValue> model)
{
return View(model);
}
}
您的查看代码:
@model List<MVCApp.Controllers.ModelValue>
@using (Html.BeginForm())
{
for (int i = 0; i < Model.Count; i++)
{
@Html.EditorFor(modelitem => Model[i].ID)
@Html.EditorFor(modelitem => Model[i].Name)
<br />
}
<button type="submit">Go</button>
}