当我计算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>
答案 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>