Asp.net mvc 4 如何在单击按钮时获取表格单元格值
我创建了一个包含5列的简单表。最后一列是按钮。我需要在单击按钮时获取第一列单元格值,并将该值传递给action/controller。我希望在不使用javascript的情况下实现这一点 那么,在asp.net mvc 4中是否有现成的方法可以做到这一点,就像我在asp.net webforms中多次轻松做到的那样,下面是我的代码:-Asp.net mvc 4 如何在单击按钮时获取表格单元格值,asp.net-mvc-4,Asp.net Mvc 4,我创建了一个包含5列的简单表。最后一列是按钮。我需要在单击按钮时获取第一列单元格值,并将该值传递给action/controller。我希望在不使用javascript的情况下实现这一点 那么,在asp.net mvc 4中是否有现成的方法可以做到这一点,就像我在asp.net webforms中多次轻松做到的那样,下面是我的代码:- @if (Model != null) { foreach (DataRow row in Model.
@if (Model != null)
{
foreach (DataRow row in Model.Rows)
{
<tr style="height: 22px; border-bottom: 1px solid gray">
<td>@row["instr_no"]</td>
<td>@row["benef_name"]</td>
<td>@row["instr_date"]</td>
<td>@row["maker_id"]</td>
<td>@Html.ActionLink("Print", "Print", "Home", new { instr_no = "FirstCellValue" }) </td>
</tr>
}
}
</tbody>
@if(Model!=null)
{
foreach(Model.Rows中的数据行)
{
@第[“仪器编号”]
@行[“benef_名称”]
@第[“安装日期”]
@行[“制造商id”]
@ActionLink(“打印”、“打印”、“主页”,新{instr_no=“FirstCellValue”})
}
}
如果不想使用javascript,可以执行表单提交
将每一行包装在表单标记中。将第一个单元格的值设置为隐藏的输入字段。当用户单击submit按钮时,它将提交该值
<table>
@foreach (var row in Model.Rows)
{
using (Html.BeginForm("Print","Home"))
{
<tr style="height: 22px; border-bottom: 1px solid gray">
<td>@row["instr_no"] <input type="hidden" value="@row["instr_no"]"
name="instrNo" /></td>
<td>@row["benef_name"]</td>
<td><input type="submit" /></td>
</tr>
}
}
</table>
可以使用以下命令将特性值添加为链接中的路由值:
@Html.ActionLink("Print", "Print", "Home", new { instr_no = row["instr_no"] }, null)
@Html.ActionLink(“Print”、“Print”、“Home”,new{instr_no=row[“instr_no”]},null)
@Shyju,感谢您的回复,请参阅Stephen Muecke先生的评论。它工作正常,您的代码也正常工作。那么你和Stephen Muecke方法的主要区别是什么?如果我们不使用(Html.BeginForm(“Print”、“Home”))就可以实现这一点。那么需要什么呢,谢谢@Html.ActionLink()
生成一个
元素并生成一个GET-to-your方法。Shyju回答中的代码是使用表单并发布帖子(在更新数据时,您可以使用它)。基于你的链接是“打印”,我假设你的数据没有变化,所以你应该使用ActionLink()
简单的解释,我如何标记你的答案?谢谢你的回复,请参阅Stephen Muecke先生的评论。它工作正常,您的代码也正常工作。那么你和Stephen Muecke方法的主要区别是什么?如果我们不使用(Html.BeginForm(“Print”、“Home”))就可以实现这一点。那需要什么呢,谢谢。如果您想在querystring中的instr_no的一个新链接中打开它,这将非常好。如果不想在页面url的查询字符串中显示instr_no,可以使用表单发布。该值将作为请求正文发布。如果您希望停留在同一页面,但希望在单击“发布”时下载图像,则此功能非常有用。
@Html.ActionLink("Print", "Print", "Home", new { instr_no = row["instr_no"] }, null)