我正在尝试使用 MicrosoftMvcJQueryValidation 设置客户端验证以处理 ajax 提交的表单。如果部分视图直接从视图中呈现,则它工作得非常好。但是,当我尝试通过 XHR 获取它时,例如在 JQuery 对话框中显示它时,不会为输出 html 生成客户端验证 javascript。有任何想法吗?
工作代码 - 使用 Html.RenderPartial 呈现部分视图:
看法:
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% Html.RenderPartial("New"); %>
</asp:Content>
局部视图:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Product>" %>
<% Html.EnableClientValidation();%>
<% Html.BeginForm();%>
<%= Html.EditField(m => m.price)%>
<%= Html.ValidationMessageFor(m => m.price)%>
<% Html.EndForm();%>
无效代码 - 使用 JQuery load() 函数获取部分视图。
看法:
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
....
$("#dialog").load('~/Product/New/');
$("#dialog").dialog("open");
....
<div id="dialog" title=""></div>
</asp:Content>
相关控制器动作:
public PartialViewResult New(int id)
{
return PartialView(service.GetProduct());
}
谢谢。