Я пытаюсь выбрать и отобразить последние 5 представлений каждой категории новостей на частичном изображении. в таблице новостей есть идентификатор категории как внешний ключ. У меня есть этот код ниже, но он ничего не показывает при тестировании. может кто-нибудь помочь.MVC3 Linq select top 5 из каждой категории
Код в Новости Контроллер
public ActionResult _HomeCatNews()
{
var info = db.News
.GroupBy(r => r.CatId)
.SelectMany(g => g.OrderBy(r => r.RevDate)
.Take(5))
.ToList();
return PartialView();
}
Частичный вид вид кода, как показано ниже
@model IEnumerable<KPortal.Models.HomeNewzCat>
@using KPortal.Helpers
@foreach (var item in Model) {
<ul>
<li>
<div class="image">
<a href="#">@Html.DisplayFor(modelItem => item.NewsPic)</a>
</div>
<div class="details">
<h5><a href="#">@Html.Raw(Html.Truncate(item.NewsContent, 55, ""))</a></h5>
<span class="date">
@Html.DisplayFor(modelItem => item.RevisionDate)
@Html.DisplayFor(modelItem => item.NewSource)
</span>
</div>
@Html.DisplayFor(modelItem => item.NewsTitle)
</li>
</ul>
}
HomeNewzCat Модель
namespace KPortal.Models
{
public class HomeNewzCat
{
[Display(Name = "Category ID")]
public int CategoryID { get; set; }
[Display(Name = "Category")]
public string Category { get; set; }
[Display(Name = "Revision Date")]
public DateTime RevisionDate { get; set; }
[Display(Name = "News Title")]
public string NewsTitle { get; set; }
[Display(Name = "Story Picture")]
public string NewsPic { get; set; }
[AllowHtml]
[Display(Name = "News Content")]
public string NewsContent { get; set; }
[Display(Name = "Source")]
public string NewSource { get; set; }
public DateTime Date { get; set; }
}
}
Большое спасибо @AlfalfaStrange Я пытаюсь реализовать свое решение, но я получаю ошибки, что идет в YourPartialView Я думал _HomeCatNews() – Diin
Какие ошибки вы получаете? Можете ли вы обновить свой вопрос с помощью кода, который вы пытаетесь сделать? Является ли ваш частичный вид «_HomeCatNews.cshtml»? Если это так, вы должны использовать 'return PartialView (« _ HomeCatNews », model);' и он должен находиться в той же папке представлений, что и представление, которое оно загружается в или в общей папке, чтобы его можно было найти. –
Элемент модели, переданный в словарь, имеет тип «System.Collections.Generic.List'1 [KPortal.Models.News]», но для этого словаря требуется элемент модели типа «System.Collections.Generic.IEnumerable'1 [ KPortal.Models.HomeNewzCat]. – Diin