C# 验证不适用于局部视图
我有一个根视图,其中有两个局部视图,通过单击按钮加载到div中: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 />
@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" })
@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;
});