我正在处理ASP.NET MVC4
申请。我想要做的是允许用户向表中添加行,然后用数据填充它们,如果需要,添加另一行等等,直到他想要保存他的工作。
使用标准@Html.BeginForm
和操作方法AddRow(MyViewModel model)
我设法做到了这一点。但是在同样的形式中,我想添加另一个按钮,让我们说:
<input type="submit" value="Add row" />
<input type="submit" id="save-form" value="Save table" />
点击Save table
后,我想将模型传递给SaveCustomTable(MyViewModel mode)
之类的另一个操作,我将保存数据等等。
我看过互联网有关可能的解决方案并找到了这个:
$(function () {
$('#save-form').click(function () {
$(form).attr('action', 'Url.Action( "action1" )')
.submit();
return false; // prevent default submission
});
});
然而,我对jQuery的了解不足使我无法完全运行它。首先 - 这是好的,它一般会起作用吗?如果是这样,我应该将$(form).attr(...)
的参数作为参数传递给控制器Foo
中的行为Bar
?它会将模型作为另一个没有附加jQuery的按钮提交吗?
答案 0 :(得分:1)
我建议您为这两个按钮添加事件处理程序,并在这些处理程序中设置表单操作。我认为会更清楚:
$(function () {
$('#addRowBtn').click(function () {
$(form).attr('action', $(this).attr('rel'));
});
$('#saveTableBtn').click(function () {
$(form).attr('action', $(this).attr('rel'));
});
});
在您查看中,添加其他属性并在此处保存所需操作:
<input type="submit" id="addRowBtn" rel="@Url.Action("action1")" value="Add row" re />
<input type="submit" id="saveTableBtn" rel="@Url.Action("action2")" value="Save table" />
答案 1 :(得分:0)
查看此链接,这是我用来处理MVC中的多个提交按钮的内容,它仍然适用于MVC4和MVC5项目。
Multiple submit buttons with ASP.NET MVC
然而,似乎你的保存按钮是提交,而添加行只是一个简单的按钮,不是吗?