2012-05-03 45 views
0

我有一個根視圖,其中有兩個部分視圖,它們基於點擊按鈕加載到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> 
} 

被加載到donationSection1和paymentSection1的div共用同一個模型的局部視圖,只是包含在它不同的屬性編輯器,標籤等..只是想知道我是怎麼可以讓它驗證部分視圖...如果提交/保存按鈕在根視圖上......謝謝!加載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; 
    }); 

我想我的下一個問題是如何最好地去一次全部回發數據控制器...

回答

1

嘗試使用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; 
    }); 

這裏有更多的解釋

鏈接

http://itmeze.com/2010/10/08/client-side-validation-after-ajax-partial-view-result-in-asp-net-mvc-3/

+0

嗯..似乎沒有工作..做我的部分意見需要形式標籤本身...或問題可能是這個頁面最初是從索引控制器方法生成,並沒有任何回發方法定義(子視圖做...但提交按鈕是在根視圖上)? – 1Canuck16

+1

nope如果你在編輯器旁邊有驗證,那沒關係 –

+0

嗯..有什麼想法我可能做錯了什麼? – 1Canuck16