2016-05-04 3 views
1

У меня есть страница, которая включена Блоги из базы данных. Во-первых, если я не даю categoryID, тогда все блоги должны появиться на индексной странице. Если я даю категорию, то я хочу отображать блоги по категориямID, поэтому мне нужно использовать перегрузку индекса.Как я могу перегрузить Индекс в MVC

public ActionResult Index(){List<Blog> blogs = db.Blogs.ToList();} 
public ActionResult Index(int ID){List<Blog> blogs = db.Blogs.Where(x=>x.CategoryID==ID).ToList();} 

Но когда я хочу, чтобы отобразить все блоги ошибку приходят так:

Текущий запрос «Индекс» действие на тип контроллера «HomeController» является неоднозначным между следующими способами действий: System.Web.Mvc.ActionResult Index() по типу SosyalSozluk.Areas.Blog.Controllers.HomeController System.Web.Mvc.ActionResult Index (Int32) по типу SosyalSozluk.Areas.Blog.Controllers.HomeController

ответ

3

Исключить первый метод и изменить второй метод, чтобы сделать параметр дополнительно

public ActionResult Index(int? ID) 
{ 
    IEnumerable<Blog> blogs = db.Blogs; 
    if (ID.HasValue) 
    { 
     blogs = blogs .Where(x=>x.CategoryID == ID.Value); 
    } 
    return View(model); // add `.ToList()` if you really need it 
} 
Смежные вопросы