c# - MVC 提交按钮始终在 POST 上提交第一条记录详细信息
问题描述
我在 MVC 页面中有一个 foreach 循环。如下所示。但是,当我使用提交按钮提交表单时,它总是提交第一条记录。无法理解为什么会这样。感谢帮助。
@model IEnumerable<DeployModel>
@using (Html.BeginForm("Index", "Dep", FormMethod.Post))
{
<div class="col-md-11">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-body" id="modal-body" style="overflow-y: auto">
@if (Model != null && Model.Any())
{
<div>
<table class="table table-condensed table-hover table-bordered">
<thead>
<th>
S1 Name
</th>
<th>
S2 Name
</th>
<th>
Old Version
</th>
<th>
New Version
</th>
<th>
Status
</th>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(o => item.S1)
</td>
<td>
@Html.DisplayFor(o => item.S2)
</td>
<td>
@Html.DisplayFor(o => item.OldVersion)
</td>
<td>
@Html.DisplayFor(o => item.NewVersion)
</td>
<td>
@Html.DisplayFor(o => item.Status)
</td>
<td>
<button name="SubmitButton" class="btn action-btn" type="submit" > Submit </button>
</td>
</tr>
}
</tbody>
</table>
</div>
}
</div>
</div>
</div>
</div>
}
我的控制器动作看起来像,但无论按钮单击如何,它总是接收第一条记录。
[HttpPost]
public ActionResult Index(DeployModel deployModel)
{
//TODO code
}
知道如何解决这个问题吗?
解决方案
您必须为每个输入提供不同的名称。
示例
@Html.DisplayFor(o => item.S1, new { name = "input1" })
推荐阅读
- javascript - 有什么方法可以让我获取 html 元素(h1 标签)值并渲染到服务器(express)?
- handlebars.js - Bigcommerce 的 Handlebars 开发环境的条件
- java - Spring Boot:YAML 配置未加载到 bean
- html - 如何在 SVG 周围画一个圆圈并填充
- python - 在Python中转换列表中的两个熊猫列
- sql-server - 从多个数据库中获取数据 - 动态数据库
- python - 基于其他数据帧索引在特定级别重新索引多索引数据帧
- bash - 如何在 Expect 脚本中使用 while 循环来显示某个提示?
- android - 从 jsoup android 获取音频 URL
- python - 我的 Amazon EMR 集群无法启动。如何解决 Python 依赖项?