我有2个表单,每个表单有2个提交按钮。
我的一个表格是"创建"。在这种形式中,我不使用hiddenfor对象和2提交按钮,如下所示:
<button type="submit" class="btn btn-success btn-sm" name="continueEditing" value="false">
<i class="fa fa-save"></i>
@GlobalRes.Save
</button>
<button type="submit" class="btn btn-success btn-sm" name="continueEditing" value="true">
<i class="fa fa-save"></i>
@GlobalRes.SaveAndContinue
</button>
在服务器端,我的动作签名是这样的:
[HttpPost]
public ActionResult Create(CategoryCreateVm model, bool continueEditing)
{//}
一切正常,但问题是当我尝试在编辑操作中使用相同的脚本和相同的代码时,我遇到错误,其中名为continueEditing的参数为null!
Create
和Edit
视图之间的唯一区别是我在Edit
视图中使用了隐藏的对象:
@Html.HiddenFor(x => x.Id)
这个表单有什么问题,除了参数使用提交按钮,我无法发送额外的隐藏值?注意事项是我必须对两个提交都使用相同的操作。
答案 0 :(得分:0)
您必须为提交的每个按钮添加不同的名称。
<button type="submit" class="btn btn-success btn-sm" name="continueNotEditing" value="false">
<i class="fa fa-save"></i>
@GlobalRes.Save
<button type="submit" class="btn btn-success btn-sm" name="continueEditing" value="true">
<i class="fa fa-save"></i>
@GlobalRes.SaveAndContinue