MicrosoftMvcJQueryValidationを使用してクライアント側の検証をセットアップし、ajaxで送信されたフォームを処理しようとしています。部分ビューがビューから直接レンダリングされる場合は、完全に正常に機能します。ただし、たとえばJQueryダイアログに表示するために、XHRを介してフェッチしようとすると、出力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();%>
コードが機能しない-部分ビューはJQueryload()関数でフェッチされます。
意見:
<%@ 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());
}
ありがとう。