Добавить значения в модель в представлении - PullRequest
1 голос
/ 20 июня 2011

Я очень новичок в MVC 3 Razor в ASp.net. Я посылаю модель в представление, которое тесно связано с этой моделью. У этой модели есть список, и я хочу отобразить сумму определенного поля в этом списке моделей. это возможно и как?

Ответы [ 3 ]

5 голосов
/ 20 июня 2011

Я бы не стал делать это в View.

Я бы сделал это в 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>, которая может быть агрегирована.

Всегда старайтесь не допускать в своем представлении ненужную логику.

3 голосов
/ 20 июня 2011

Это должно сделать это, но не видя часть вашего кода, трудно быть точным:

@Model.YourList.Sum(p => p.PropertyNameYouWantToSum)
0 голосов
/ 20 июня 2011
Decimal D = listItem.Where(P=>P.Amount>100).Sum(P=>P.Amount);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...