2013-03-13 5 views
0

Это мой Linq в контроллерекак передать LINQ от View

List<ProfitsModel> prof = new List<ProfitsModel>(); 

      var categories = 
       from p in prof 
       group p by p.IdCategory.Name into g 
       select new { Category = g.Key, TotalUnitsInStock = g.Sum(p => p.Value) }; 

      return View(categories); 

как увидеть этот выбор, на мой взгляд?

+0

Если вид сильно типизированных, 'model', еще' ViewBag'. – jrummell

+0

вы пытаетесь передать анонимный тип вашему представлению. ничего страшного. возможный дубликат: http://stackoverflow.com/questions/223713/can-i-pass-an-anonymous-type-to-my-asp-net-mvc-view –

+0

Как выглядит ваша модель прибыли? Почему вы создаете список «prof» и ничего не делаете с ним? –

ответ

0

Привяжите модель к представлению и добавьте в модель список или перечислимое свойство. Затем вы можете перечислить перечислимый непосредственно в представлении и отобразить каждый элемент в определенной части структуры HTML.

Если ваша модель анонимного типа, вы можете использовать ViewBag/ViewData для хранения результатов.

+0

@model IEnumerable это, на мой взгляд, но как показать результат LINQ – Krasimir

1

Похоже, что здание вашего здания Anonymous объект. Вы должны сделать это, создать ViewModel и использовать это в своем запросе LINQ, обновив проекционную часть. Так что вместо того, чтобы возвращать список анонимных элементов, она возвращает список ваших экземпляров классов ViewModel

public class StockDetail 
{ 
    public string CategoryName { set;get;} 
    public int TotalItems { set;get;} 
} 

Теперь в методе действия GET, обновить проекционную часть выражения LINQ и загружают результат в список StockDetail

public ActionResult GetCategories() 
{ 
    List<ProfitsModel> prof =GetCollectionOfProfitsModelFromSomewhere(); 
    var items= from p in prof 
       group p by p.IdCategory.Name into g select new StockDetail 
        { Category = g.Key, TotalUnitsInStock = g.Sum(p => p.Value) }; 
    return View(items); 
} 

Сделайте свой вид сильно типизированных к коллекции StockDetails

@model List<StockDetail> 

@foreach(item in Model) 
{ 
    <p>@item.Category </p> 
    <p>@item.TotalUnitsInStock.ToString()</p> 

} 
+0

Я не понимаю, что я должен иметь контроллер после того, как я сделать ViewModel – Krasimir

+0

@ user2026573: Верните коллекцию для просмотра. См. Мой обновленный ответ. – Shyju

 Смежные вопросы

  • Нет связанных вопросов^_^