C# 验证不适用于局部视图

C# 验证不适用于局部视图,c#,asp.net-mvc-3,forms,validation,views,C#,Asp.net Mvc 3,Forms,Validation,Views,我有一个根视图,其中有两个局部视图,通过单击按钮加载到div中: @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Donation information</legend> <p> @Html.LabelFor(m => m.DonationType.DonationTypex) <br />

我有一个根视图,其中有两个局部视图,通过单击按钮加载到div中:

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
    <legend>Donation information</legend>
    <p>
        @Html.LabelFor(m => m.DonationType.DonationTypex) <br />
        @Html.DropDownListFor(model => model.DonationType.DonationTypeID, ViewBag.DonationTypes as      
        SelectList, htmlAttributes: new { @id = "selectList" })
        &nbsp;&nbsp;
        @Html.ActionLink("Select", "ContinueDonation", "Donation", htmlAttributes: new { @id = 
        "btnSelect1" })

    </p>

    <div id="donationSection1"></div>

 <br />
 <input id="btnAddPayment1" type="button" value="Add Payment Info" />
 <br /><br />
 <div id="paymentSection1"></div>

 <input type="submit" id="btnSubmitDonation" value="Save" />
 <input type="button" id="btnCancelDonation" value="Cancel" /> 

 </fieldset>
}

尝试使用jquery validator.unobtrusive.parse

$("#btnSelect1").click(function () {
        var donationTypeID = $(this).closest('p').find('#selectList').val();
        var id = parseInt(donationTypeID);
        var route = '/Donation/ContinueDonation?dTypeId=' + id;
        $("#donationSection1").load(route, function () {
            $("#donationSection1").show('slow');
        });
          jQuery.validator.unobtrusive.parse('#donationSection1')
        return false;
    });
这里是更多解释的链接


嗯。。似乎不起作用。。我的局部视图是否需要表单标记本身。。。或者问题可能是此页面最初是从index controller方法生成的,并且没有定义任何回发方法(子视图有…但submit按钮在根视图上)?不,如果编辑器旁边有验证,则不重要主视图上的数据验证不是partialjQuery.validator.unobtrusive.parse(“表单”)试试这个,这里还有一个例子
$("#btnSelect1").click(function () {
        var donationTypeID = $(this).closest('p').find('#selectList').val();
        var id = parseInt(donationTypeID);
        var route = '/Donation/ContinueDonation?dTypeId=' + id;
        $("#donationSection1").load(route, function () {
            $("#donationSection1").show('slow');
        });
          jQuery.validator.unobtrusive.parse('#donationSection1')
        return false;
    });