[英]Validation not working on partial views
我有一個帶有兩個局部視圖的根視圖,這些局部視圖基於單擊按鈕加載到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" })
@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>
}
加載到donationSection1和paymentSection1 div中的部分視圖共享相同的模型,只是其中包含用於不同屬性的編輯器,標簽等...只是想知道如何獲取它來驗證部分視圖...如果Submit /保存按鈕位於根視圖上...
...加載div的jquery ...(控制器返回共享同一模型的局部視圖):
$("#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');
});
return false;
});
嘗試使用jquery validateator.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;
});
這是更多說明的鏈接
http://itmeze.com/2010/10/08/client-side-validation-after-ajax-partial-view-result-in-asp-net-mvc-3/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.