【发布时间】:2016-11-30 08:01:54
【问题描述】:
我有这个模型:
public class ClassRoom
{
public List<Student> Students { get; set; }
}
public class Student
{
public int ID { get; set; }
public int Type { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
}
ID 和 Type 的值已经满了,我需要创建一个视图,学生可以在其中添加他的姓名和姓氏。 所以我需要循环视图中的学生列表。
我正在做以下事情:
@model Models.ClassRoom
@{
ViewBag.Title = "Classroom";
}
@if (Model != null)
{
<form action="Controller/Method">
foreach (var item in Model.Students)
{
@Html.HiddenFor(model => model.ID)
<div>
@Html.TextBoxFor(model => model.Name)
@Html.TextBoxFor(model => model.LastName)
</div>
}
<input type="submit">
</form>
}
我想最终提交一个 Classroom 类型的模型,其中包含一个学生列表,每个 ID 都填写了姓名和姓氏
但这不起作用。
如何将视图中的值绑定到列表中某个索引上的项目?
对于隐藏输入中的每个ID,我想保存写好的名字和姓氏。
请帮忙
我需要创建一个表单并最终提交包含完整学生列表的教室。我的 Controller 方法和视图中的类型应该是什么?
【问题讨论】:
-
但这不起作用。 - 为什么?有异常,有什么不显示?更详细地解释您对它应该如何工作的期望。
-
如何将新值发送到控制器?
-
@Cubi 请检查我的问题的更新
-
@3615 无法将值绑定到某个特定索引。 Model 中没有“ID”或“Name”,它们在 Model.Students 中
-
请参阅@3615 的答案。更详细的解释(以及首选的
EditorTemplate方法),请参阅this answer
标签: c# asp.net-mvc view model