我以网格 [basic html table] 的形式显示了一个数据列表并放置了文本框,以便我们可以在网格内进行编辑并发布值以便我可以保存它。列表并不大,大约 5-10 行。
如何在控制器中访问这些表单值?FormCollection
似乎不起作用,我什至无法通过Request.Form[]
. 我希望它以列表的形式返回,以便我可以遍历它并获取新值。
.cshtml
<form action="/Parameter/StudentWeights" method="post">
<table>
<tr>
<th>
Category
</th>
<th>
CategoryAlias
</th>
<th>
YearCode
</th>
<th>
ClassKto8
</th>
<th>
Class9to12
</th>
<th></th>
</tr>
@foreach(var item in Model.StudentWeights) {
<tr>
<td>
@Html.HiddenFor(modelItem => item.CategoryId)
</td>
<td>
@Html.DisplayFor(modelItem => item.Category)
</td>
<td>
@Html.DisplayFor(modelItem => item.CategoryAlias)
</td>
<td>
@Html.DisplayFor(modelItem => item.YearCode)
</td>
<td>
@Html.EditorFor(modelItem => item.ClassKto8)
</td>
<td>
@Html.EditorFor(modelItem => item.Class9to12)
</td>
</tr>
}
</table>
<input type="submit" value = "Submit" />
</form>
控制器
[HttpPost]
public ActionResult studentWeights(FormCollection collection)
{
try
{
// TODO: Add update logic here
//service.
foreach (var item in collection)
{
int x = item. // i want to loop through it and access the values.
}
}
catch
{
return View();
}
}
请帮助我如何获得这些值。我不想使用 JEditable 或任何第三方 jQuery 工具。
有什么方法可以在单击按钮时创建自定义类型并在 JavaScript 或 jQuery 中分配值,然后将其发送到我的控制器操作?
非常感谢,任何建议都会很有帮助。