小计未在装运单中计算

时间:2014-03-26 09:49:06

标签: asp.net-mvc-4 razor

当我计算Sub-Total等于ListPrice * Quantity时,在MVC Razor中。我遇到了这个问题

Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions.

有谁知道如何解决这个问题?

<td>
    Html.TextBoxFor(m => m.CartItems[ix].Product.ListPrice * m.CartItems[ix].Quantity)
</td>

问题由我解决,感谢您的关注!

修改

<td>
      @{
         var calculated = Model.CartItems[ix].Product.ListPrice * Model.CartItems[ix].Quantity;
                }
        <div class="price">@calculated</div>
</td>

1 个答案:

答案 0 :(得分:1)

您无法使用TextBoxFor获取计算结果,请改用Label。

像这样更新您的代码;

<td>
    Html.Label(m => m.CartItems[ix].Product.ListPrice * m.CartItems[ix].Quantity)
</td>

或者在CartItem对象中创建属性

public decimal Calculated
{
    get { return Product.ListPrice * Quantity; }
}

然后在剃刀页面上使用此属性;

<td>
    Html.Label(m => m.CartItems[ix].Calculated)
</td>