目标

在Razor Engine的originalProductPrice循环中创建并声明foreach变量。

问题

看一下下面的代码片段:

[...]
@foreach (var market in @Model.Markets)
{
    decimal originalProductPrice = Model.ProductsPrices.Find
        (x => (x.productId == product.id) &&
              (x.marketId == market.marketId)).originalProductPrice;

    <p>@originalProductPrice</p>
}
[...]


当我运行使用此代码的视图时,返回为:


  你调用的对象是空的。


但是,如果执行此代码(originalProductPrice实现),则一切正常:

[...]
<p>
    @Model.ProductsPrices.Find(x => (x.productId == product.id) &&
        (x.marketId == market.marketId)).originalProductPrice
</p>
[...]


有人知道会发生什么吗?

最佳答案

if (@Model.Markets != null) {

}

关于c# - 循环中的变量不起作用(C#+ Razor),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18059319/

10-13 02:22