2012-04-02 82 views
0

我試圖在索引文件中顯示價格。 但是,它顯示空白字段。我的編碼有什麼問題? 你能幫我嗎?這應該是容易的問題。但我找不到它。 如果您提供一些反饋,我真的很感謝你!MVC3 ViewBag不起作用

public ActionResult Index(decimal priceValue) 
    { 
     var cart = ShoppingCart.GetCart(this.HttpContext); 

     // Set up our ViewModel 
     decimal price = priceValue; 
     ViewBag.eachPrice = price; 
     var viewModel = new ShoppingCartViewModel 
     { 
      CartItems = cart.GetCartItems(), 
      CartTotal = cart.GetTotal(price) 
     }; 

     // Return the view 
     return View(viewModel); 
    } 

Index.cshtml

@foreach (var item in Model.CartItems) 
{ 
    <tr id="[email protected]"> 
     <td> 
      @Html.ActionLink(item.Product.model, "Details", "Store", new { id = item.productId }, null) 
     </td> 
     <td> 
      //here!! is it wrong? 
      @ViewBag.eachPrice 
     </td> 
     <td id="[email protected]"> 
      @item.count 
     </td> 
     <td> 
      @item.dateCreated.Date.ToString("dd MMM yyyy") 
     </td> 
     <td> 
      @*how about using some model instead of number?*@ 
      @item.dateCreated.Date.AddDays(2).ToString("dd MMM yyyy") 
     </td> 
     <td> 
     </td> 
     <td> 
      <a href="#" class="RemoveLink" data-id="@item.recordId"> 
      Remove from cart</a> 
     </td> 
    </tr> 
} 
+1

它看起來的代碼,它應該工作,你有沒有嘗試調試視圖,看看值是否存在? – Yasser 2012-04-02 07:41:43

回答

-1

解決了錯誤我不知道爲什麼之前它不工作.. 無論如何,謝謝你們的回覆!

0

在VB中,我這樣做這樣的:

@code 
    Dim price = viewbag.price 
@End code 

,然後,我顯示的價值,我想

@Html.Raw(price) 

在CS中,我認爲你必須把「var」代替「Dim」和finis h帶有「;」的指示

+1

在C#中(不確定VB,但我想它們的工作方式是相同的),如果使用@ ViewBag.price或者先將它存儲在變量中,通常無關緊要。 – 2012-04-02 07:41:39

+0

它從來沒有爲我描述過你的方式。但我也許做了錯誤的事情(我幾乎沒有.NET的使用經驗) – 2012-04-02 07:49:06

+0

asp.net mvc將標題存儲在viewbag中,通常我希望頁面頂部有相同的標題,所以我使用'

@ViewBag。標題

'。這裏的問題不應該有所不同。 – 2012-04-02 08:11:01