2017-05-12 5 views
0

MVC5でajaxを使用して部分的なビューだけをリロードします。カートコントローラビューカートはMVCレイアウトページにあるパーシャルビューをリフレッシュする方法

public ActionResult ViewCart() 
{ 
    //code 
    return PartialView("ViewCart", CartList); 
} 

私はカートにアイテムを追加するための機能を持っているが返されますから、ここで は私のコードは、レイアウト・ページに

<div class="col-md-2 col-sm-5 col-xs-12 shopping_cart pull-right">       
     @{ Html.RenderAction("ViewCart", "Cart"); } 
    </div> 

です。アクションで私は部分的なビューに更新されたアイテムを返すよ。しかし、更新されたビューをレンダリングしていません。特定の部門はリロードしていません。

+1

ajaxロード機能を使用します。 –

答えて

0

はjqueryのロード機能

 function loadPartialView() { 
      //load cartitems to div 
      $('#cart').load('/Cart/ViewCart/');   
     }; 

     $(function() { 
      loadPartialView(); // first time 
      // re-call the function each 5 seconds 
      window.setInterval("loadPartialView()", 5000); 
     }); 

    </script> 
0

を使用して行われ、ページ全体をリロードせずに特定のビューをリロードする方法

 <script type="text/javascript"> 

      $(".addToCart").click(function (event) { 
       //prevent default action from the link provided in html 
       event.preventDefault(); 

       $.ajax({ 
        url:$(this).attr("onclick"), 
        success:function(){ 
         alert("Product added to cart"); 
        } 
       });//ajax end 

      });//end click 
     </script> 



    public ActionResult(decimal pid, decimal cnt) 
    { 
    //code to add items into table 
    return RedirectToAction("ViewCart"); 
    } 

あなたはidがで

<div id="cartdetails" class="col-md-2 col-sm-5 col-xs-12 shopping_cart pull-right">       
    @{ Html.RenderAction("ViewCart", "Cart"); } 
</div> 

のAjaxのテキスト入力欄をDIVに設定します次のコードを追加:

$("#cartdetails").load("/Cart/ViewCart"); 
関連する問題