我是ASp.net中MVC 3 Razor的新手。 我正在将模型发送到与此模型紧密耦合的视图。 这个模型有列表,我想在该模型列表中显示特定字段的SUM。 那是可能的吗?
答案 0 :(得分:5)
我不会在视图中这样做。
我会在ViewModel中执行此操作:
public class SomeViewModel
{
public ICollection<int> SomeValues { get; set; }
public int MySum { get { return SomeValues.Sum(x => x.SomeValue); } }
}
然后是观点:
@Html.DisplayFor(model => model.MySum)
或者,您可以使用通用的HTML帮助程序,使其成为通用的,这样您就可以在任何可以聚合IEnumerable<T>
的模型中重复使用。
始终尝试让您的视图远离不必要的逻辑。
答案 1 :(得分:3)
这应该这样做,但是没有看到你的一些代码就很难准确:
@Model.YourList.Sum(p => p.PropertyNameYouWantToSum)
答案 2 :(得分:0)
Decimal D = listItem.Where(P=>P.Amount>100).Sum(P=>P.Amount);