사용자가 장바구니에 항목을 추가 할 때 특정 'div'()를 다시로드하려고합니다. click 이벤트에서 실행하려는 Jquery가 있습니다. 포스트 액션 (작동 중)을 호출하고 "다시로드"div (렌더링 액션 만) 내의 모든 것을 다시로드해야합니다.Jquery를 사용하여 통화 컨트롤러 동작
이 리로드 피스도 작동하는 것으로 보이지만 div 만 다시로드하는 것이 아니라 현재 페이지의 일부를 다시로드합니다. 이것을 감안할 때 올바르지 않은 jquery 여야합니다. 내가 잘못한 것을 도와 주면 감사하겠습니다.
나는 시도하고 아래 코드의 필요한 부분이 포함됩니다 :
<div id="reload">
@{Html.RenderAction("_PartialView","Controller");}
</div>
링크 사용자가 클릭 :
로드 레이아웃보기에서 부분보기를. 클릭 이벤트가 듣고 JQuery와에 의해 : 클릭 이벤트에 jQuery를 호출
<p class="button">
<a href="#" class="AddToCart" data-id="@item.ItemId"> Add To Basket</a>
</p>
작업 : 클릭 이벤트에서 호출
[ChildActionOnly]
public ActionResult _CartSummary()
{
var cart = ShoppingCart.GetCart(this.HttpContext);
ViewData["CartCount"] = cart.GetCount();
return PartialView("_CartSummary.cshtml");
}
JQuery와 :
$(function() {
$(".AddToCart").click(function() {
var addToCart = $(this).attr("data-id");
if (addToCart != '') {
$.post("/ShoppingCart/AddToCart", { "id": addToCart }).success(function() {
$("#cartSummary").fadeOut();
$("#cartSummary").fadeIn().load('@Url.Action("_CartSummary","ShoppingCart")');
});
return false;
};
});
});
위 JQuery와 전화의 $("#cartSummary").fadeIn().load('@Url.Action("_CartSummary","ShoppingCart")')
에 의해 반환되는 URL은 localhost/Store/@Url.Action(%22_CartSummary%22,%22ShoppingCart%22
입니다. 예상대로이 URL을 찾을 수 없습니다. 올바른 URL은 localhost/ShoppingCart/_CartSummary
입니다. @ Url.Action이 처리되지 않고 방금 작업의 이름으로 전달 된 것 같습니다.
당신은'.done'와'.fail를 제공해야 '함수는 다음과 같다 : http://api.jquery.com/jquery.post/'.done' 함수에서'.dost' 함수를'.post'가 반환되기 때문에 채 웁니다. –