我有一个带有表单的编辑视图,该表单有两个提交按钮:
<input type="submit" name="save" value="@Resources.Save" class="btn btn-default" />
<input type="submit" name="delete" value="@Resources.Delete" class="btn btn-danger" />
在这里,我可以保存记录或删除记录。
然后在我的控制器中我这样做:
if (Request.Form["delete"] != null)
{
// delete
}
else
{
// edit
}
所以一切都运行良好,直到我添加了jQuery Validation插件和JQuery Validate Unobstrusive(我需要进行Remote
验证)..它打破了我的应用程序中记录的删除。
我的Request.Form["delete"]
现在始终为null
。请注意,Request.Form
确实包含表单中的所有其他值(并且它曾经工作正常)。
任何人都有一些想法如何解决这个问题?
答案 0 :(得分:0)
我设法通过将formnovalidate
添加到我的删除按钮来解决我的问题:
<input id="delete" formnovalidate type="submit" name="delete" value="@Resources.Delete" class="btn btn-danger" />
来自Jquery验证参考文档(here):
在提交时跳过验证
要在仍然使用提交按钮时跳过验证,请添加attribte&#34; formnovalidate&#34;对那个输入:
1
<input type="submit" name="go" value="Submit">
2<input type="submit" formnovalidate name="cancel" value="Cancel">
以前通过添加class =&#34;取消&#34;对于输入,现在已弃用。
因此jquery.validate
或jquery.validate.unobtrusive
库中的某些内容阻止我的删除值提交,但我不确定它是什么..