ASP.NET core MVC,控制器如何获取页面中table的input中的每一行数据,请写一段代码示例,并模拟把数据全部录入一张list的处理过程
时间: 2024-03-11 20:48:55 浏览: 65
ASP.NET Core MVC获取请求的参数方法示例
假设页面中的表格如下所示(注意:这里修改了每个 input 的 name 属性,添加了一个 row- 前缀):
```html
<table id="myTable">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="row-0-name" /></td>
<td><input type="email" name="row-0-email" /></td>
<td><input type="text" name="row-0-phone" /></td>
</tr>
<tr>
<td><input type="text" name="row-1-name" /></td>
<td><input type="email" name="row-1-email" /></td>
<td><input type="text" name="row-1-phone" /></td>
</tr>
<!-- more rows... -->
</tbody>
</table>
```
控制器中获取表格数据并将数据录入到 List 中的代码示例如下:
```csharp
[HttpPost]
public IActionResult ProcessTableData()
{
// 获取表格数据
var formData = Request.Form;
var rowCount = formData.Keys.Count(key => key.StartsWith("row-"));
// 录入表格数据
var dataList = new List<Data>();
for (int i = 0; i < rowCount; i++)
{
var name = formData[$"row-{i}-name"];
var email = formData[$"row-{i}-email"];
var phone = formData[$"row-{i}-phone"];
// 将数据录入到 List 中
dataList.Add(new Data
{
Name = name,
Email = email,
Phone = phone
});
}
// 处理数据
// ...
// 返回处理结果
return Json(/* 处理结果 */);
}
```
在上面的控制器代码中,我们通过 `Request.Form` 属性获取页面中表格的数据,然后使用 `for` 循环处理每一行数据,将每行数据录入到 `List<Data>` 中。最后我们可以使用这个 `List<Data>` 对象进行数据处理。注意,这里我们假设 `Data` 类型如下:
```csharp
public class Data
{
public string Name { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
}
```
阅读全文