2014-08-31 64 views
0

我开发了一个电子商务应用程序。我使用C#,MVC和实体框架和引导。 我已将购物车项目保存在我的数据库中。我的问题是: 我想在我的版面顶部显示购物车摘要。但是你对这个操作有什么建议。 我应该对购物车的摘要或其他方式使用局部视图吗?购物车概要布局

另一方面,我怎样才能从数据库中读取我的购物车的数据每一个请求。当然,我无法从控制器中获取它。因为我想在每个页面上显示购物车的摘要顶部。我应该从应用程序开始读取还是?任何建议我都可以参加此项行动。

//_Layout.cshtml 
<body> 
    <div class="container"> 
     <nav class="navbar navbar-default" role="navigation"> 
      <div class="navbar-header"> 
       <a class="navbar-brand" href="#">E-Commerce</a> 
      </div> 
      <form class="navbar-form navbar-left" role="search"> 

       <div class="input-group"> 
        <input type="text" class="form-control" placeholder="Arama"> 
        <span class="input-group-addon"> 
         <i class="fa fa-search"></i> 
        </span> 
       </div> 
      </form> 
      <p class="navbar-text pull-right"> 

       /* I want to see shopping cart summary in this section*/ 

       <i class="fa fa-shopping-cart"></i> 
       <span id="cartTotal"> 

       </span> 
       (<span id="cartItemCount"></span>) 
      </p> 
      <p class="navbar-text pull-right">Log In</p> 
      <p class="navbar-text pull-right">Register</p> 

     </nav> 

    </div> 
    <div class="container"> 
     @RenderBody() 
    </div> 
</body> 
</html> 
+1

我想你应该使用'Html.Action'来调用Action来返回PartialView。 – py3r3str 2014-08-31 11:21:34

+0

设计方式: 1.显示任何视图中的内容 - 编写一些jQuery来渲染显示并仅传输原始数据 - 这将确保速度。 2.存储购物车最好在会话中完成,除非您特别需要将其作为用户登录并获得相同持久购物车的功能。然后在登录时阅读它。 – zaitsman 2014-08-31 12:15:29

回答

0

您可以使用此解决方案的

在控制器

[ChildActionOnly] 
    public ActionResult CartSummary() 
    { 
     ViewData["CartCount"] = 3; // count Qty in your cart 
     return PartialView("CartSummary"); 
    } 

右击并添加视图,并选择PartialView然后在PartialView

@ViewData["CartCount"] 
布局

,您希望显示购物车的数量

@{Html.RenderAction("CartSummary", "controllerName");}