Submit form with table - how to pass the selected row number on submit(带表提交表单-如何在提交时传递所选行号)
本文介绍了带表提交表单-如何在提交时传递所选行号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下是模型:
public class TestModel
{
public string Data { get; set; }
public List<string> Datas { get; set; }
}
以下是视图:
@model InventoryWeb.Models.TestModel
@using (Html.BeginForm())
{
@Html.DisplayFor(modelItem => Model.Data)
@Html.HiddenFor(m => m.Data)
<table class="table">
<tr>
<th>
Data
</th>
<th></th>
</tr>
@for (int i = 0; i < Model.Datas.Count; i++)
{
@Html.Hidden("Datas["+ i + "]", Model.Datas[i])
<tr>
<td>
@Html.DisplayFor(modelItem => Model.Datas[i])
</td>
<td>
<input type="submit" value="Submit" formaction="SubmitTest" formmethod="post"/>
</td>
</tr>
}
</table>
}
如何将选定的行号(用户按下"提交"按钮的行数)传递给控制器?TempData/ViewBag/提交时用于将此信息传递给控制器站点的任何可能的工具。
推荐答案
按照您编写它的方式,它会将任何行的所有数据发送回服务器。
您可以在每行中插入一个表单:
@model InventoryWeb.Models.TestModel
@Html.DisplayFor(modelItem => Model.Data)
<table class="table">
<tr>
<th>
Data
</th>
<th></th>
</tr>
@for (int i = 0; i < Model.Datas.Count; i++)
{
<tr>
<td>
@Html.DisplayFor(modelItem => Model.Datas[i])
</td>
<td>
@using (Html.BeginForm())
{
@Html.Hidden("rowNumber", i)
<input type="submit" value="Submit" formaction="SubmitTest" formmethod="post"/>
}
</td>
</tr>
}
</table>
但我更喜欢在这种情况下使用Java脚本。
编辑
使用JavaScript:
@using (Html.BeginForm("SubmitTest"))
{
@Html.DisplayFor(modelItem => Model.Data)
@Html.HiddenFor(m => m.Data)
<input type="hidden" id="rowNumber" name="rowNumber" />
<table class="table">
<tr>
<th>
Data
</th>
<th></th>
</tr>
@for (int i = 0; i < Model.Datas.Count; i++)
{
@Html.Hidden("Datas["+ i + "]", Model.Datas[i])
<tr>
<td>
@Html.DisplayFor(modelItem => Model.Datas[i])
</td>
<td>
<input type="button" value="Submit" onclick="SubmitForm(@i, this);"/>
</td>
</tr>
}
</table>
}
<script>
function SubmitForm(i, btn){
$("#rowNumber").val(i);
var form = $(btn).closest("form");
form.submit();
}
</script>
这篇关于带表提交表单-如何在提交时传递所选行号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:带表提交表单-如何在提交时传递所选行号
基础教程推荐
猜你喜欢
- Moq It.Is<>不匹配 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- WPF 模态进度窗口 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
