2012-05-02 74 views
0

在這個局部視圖中(坐在另一個視圖中)我有一個按鈕,一個空div和JQuery,它將另一個局部視圖加載到這個視圖中......只是想知道爲什麼它不加載點擊一次,但在兩個?爲什麼我需要雙擊JQuery才能渲染局部視圖

<input id="btnPaymentAdd" type="button" value="Add Payment Info" /> 
</p> 
<div id="paymentSection"></div> 
<br />  

JQuery的...

$("#btnPaymentAdd").click(function() { 
    $("#paymentSection").load('/Donation/AddPaymentInfo'); 
    $("#paymentSection").show('slow'); 
}); 

控制器:

public ActionResult AddPaymentInfo() 
    { 

     var vModel = new PaymentViewModel(); 
     vModel.Payment = new Payments(); 
     vModel.PaymentType = new WCCDentalApp.Models.PaymentType(); 

     ViewBag.PaymentTypes = new SelectList(dbEntities.PaymentTypes.OrderBy(pt => pt.PaymentTypeID), 
     "PaymentTypeID", "PaymentType1", vModel.Payment.PaymentTypeID); 

     return PartialView("PaymentPView", vModel); 
    } 

回答

2

您需要在頁面加載後您.show()功能綁定...

$("#btnPaymentAdd").click(function(){ 
    $("#paymentSection").load('/Donation/AddPaymentInfo', function(){ 
     $(this).show('slow'); 
    }); 
}); 

,或者你可以使用.get(),就像這樣:

$("#btnPaymentAdd").click(function(){ 
    $.get('/Donation/AddPaymentInfo', function(data){ 
     $("#paymentSection").html(data).show('slow'); 
    }); 
}); 

否則,您必須將只是做.show()無需等待頁面加載,方式會讓你覺得就像點擊了兩次工作。

相關問題