【发布时间】:2014-09-20 07:55:33
【问题描述】:
我有一个包含使用 Html.BeginForm 的普通表单的 Razor 视图。它还使用 Html.RenderAction 插入包含另一个表单的局部视图。我正在使用 RenderAction,因此可以使用它自己的模型对部分视图进行强类型化。该部分视图包含一个使用 Ajax.BeginForm 的 ajax 表单。
当父视图中的常规表单发布并从控制器方法返回验证错误时,就会出现问题。 ajax 表单也会验证并显示它自己的错误消息。起初我以为只是客户端验证同时获取了两个表单,但是当我设置断点时,我发现 ajax 表单发布到的控制器方法也被调用了。
我宁愿保持这个视图简单,而不是对这两种形式都使用 ajax。出于同样的原因,我宁愿不将表单合并为一个,而是使用 javascript 或其他方法来区分两者。当常规表单发布时,我还有哪些其他选项可以阻止 ajax 表单发布或验证?
【问题讨论】:
-
您是否在主视图
<form>标签中呈现部分(使用AJAX.BeginForm及其提交按钮)? -
@StephenMuecke,不。我怀疑某些问题是对 Ajax.BeginForm 的调用发生在同一个请求中,并且由于该请求是一个帖子...
标签: c# .net asp.net-mvc-5