Когда модель имеет тип List, как мы можем использовать с ней лямбду?
@model List<ViewModels.MyModel>
Это не работает для EditorFor
@Html.EditorFor(m=>m.FirstOrDefault().Value)
Как связать модель с EditorFor?
Когда модель имеет тип List, как мы можем использовать с ней лямбду?
@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)
}
<input>
, который был создан EditorFor.
- person Jude; 06.03.2015
Полный пример ниже:
Код вашего контроллера:
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>
}