2011-12-15 3 views
1

Может ли кто-нибудь сказать мне, почему это не работает?Пытается установить значение для ViewBag

Я получаю ошибку No overload for method 'Write' takes 0 arguments. Это происходит прямо на первой строке в foreach, где я устанавливаю ViewBag.InvoiceTotal.

@foreach (var invoice in Model.Invoices) 
{ 
    @{ ViewBag.InvoiceTotal = (invoice.Product.Price * invoice.Quantity).ToString("c"); } 

    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => invoice.InvoiceDate) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => invoice.Company.Name) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => invoice.Product.Name) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => invoice.Quantity) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => invoice.Product.Price) 
     </td> 
     <td> 
      @ViewBag.InvoiceTotal 
     </td> 
     <td> 
      @Html.ActionLink("Edit", "Edit", new { id = invoice.InvoiceId }) | 
      @Html.ActionLink("Details", "Details", new { id = invoice.InvoiceId }) | 
      @Html.ActionLink("Delete", "Delete", new { id = invoice.InvoiceId }) 
     </td> 
    </tr> 
} 

ответ

1

У вас есть один дополнительный @

@foreach (var invoice in Model.Invoices) 
{ 
    { 
    ViewBag.InvoiceTotal = (invoice.Product.Price * invoice.Quantity).ToString("c"); 
    } 
} 

Это работает.

+0

Awesome. Благодаря! –

0
 @foreach (var invoice in Model.Invoices) 
      { 
       ViewBag.InvoiceTotal = (invoice.Product.Price * invoice.Quantity).ToString("c"); 

       <tr> 
        <td> 
         @Html.DisplayFor(modelItem => invoice.InvoiceDate) 
        </td> 
        <td> 
         @Html.DisplayFor(modelItem => invoice.Company.Name) 
        </td> 
        <td> 
         @Html.DisplayFor(modelItem => invoice.Product.Name) 
        </td> 
        <td> 
         @Html.DisplayFor(modelItem => invoice.Quantity) 
        </td> 
        <td> 
         @Html.DisplayFor(modelItem => invoice.Product.Price) 
        </td> 
        <td> 
         @ViewBag.InvoiceTotal 
        </td> 
        <td> 
         @Html.ActionLink("Edit", "Edit", new { id = invoice.InvoiceId }) | 
         @Html.ActionLink("Details", "Details", new { id = invoice.InvoiceId }) | 
         @Html.ActionLink("Delete", "Delete", new { id = invoice.InvoiceId }) 
        </td> 
       </tr> 
      } 
Смежные вопросы