2012-04-02 4 views
0

Ich versuche, den Preis in der Indexdatei anzuzeigen. Es zeigte jedoch leeres Feld. Was ist falsch mit meiner Codierung? Können Sie mir helfen? Es sollte ein leichtes Problem sein. Aber ich kann es nicht finden. Wenn Sie ein Feedback geben, bin ich wirklich danke!MVC3 ViewBag funktioniert nicht

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

der Code, wie es aussieht, sollte es funktionieren, haben Sie versucht, die Ansicht zu debuggen und sehen, ob der Wert dort ist? – Yasser

Antwort

-1

Behebung des Fehlers Ich weiß nicht warum, bevor es nicht funktioniert .. Wie auch immer, danke Jungs für die Antwort!

0

In VB, ich tue dies wie folgt aus:

@code 
    Dim price = viewbag.price 
@End code 

und dann zeige ich den Wert, wo ich

@Html.Raw(price) 
wollen

In cs, ich denke, Sie müssen eine "Var" anstelle von "Dim" und Finis setzen h die Anweisung mit einem ";"

+1

In C# (nicht sicher über VB, aber ich nehme an, sie funktionieren auf die gleiche Weise) ist es normalerweise egal, wenn Sie @ ViewBag.price verwenden oder wenn Sie es zuerst in einer Variablen speichern. –

+0

Es hat bei mir nie so funktioniert wie du es beschreibst. Aber ich habe vielleicht auch etwas falsch gemacht (ich habe fast keine Erfahrung in .Net) –

+0

asp.net mvc speichert den Titel in der Viewbag, und in der Regel möchte ich den gleichen Titel oben auf der Seite, so verwende ich '

@ViewBag. Titel

'. Das Problem sollte hier nicht anders sein. –