ASP.NET core MVC,控制器如何获取页面中table的input中的每一行数据,请写一段代码示例
时间: 2024-03-11 17:47:59 浏览: 110
可以使用模型绑定来获取页面中table的input中的每一行数据。具体实现步骤如下:
1. 创建一个ViewModel,用来存储每一行数据的属性:
```csharp
public class RowDataViewModel
{
public string Column1 { get; set; }
public string Column2 { get; set; }
// 其他属性
}
```
2. 在页面中通过表单提交数据,并使用`name`属性来给每个input元素命名:
```html
<form asp-action="SaveRows" asp-controller="Home" method="post">
<table>
<thead>
<tr>
<th>Column1</th>
<th>Column2</th>
<!-- 其他表头 -->
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="Rows[0].Column1" /></td>
<td><input type="text" name="Rows[0].Column2" /></td>
<!-- 其他表格内容 -->
</tr>
<tr>
<td><input type="text" name="Rows[1].Column1" /></td>
<td><input type="text" name="Rows[1].Column2" /></td>
<!-- 其他表格内容 -->
</tr>
<!-- 其他行数据 -->
</tbody>
</table>
<button type="submit">Save</button>
</form>
```
3. 在控制器中,使用模型绑定来获取页面提交的每一行数据:
```csharp
[HttpPost]
public IActionResult SaveRows(List<RowDataViewModel> rows)
{
// 处理每一行数据的逻辑
return View();
}
```
这样就可以获取到页面中table的input中的每一行数据了。
阅读全文