2016-05-04 5 views
1

インデックスページが含まれています。データベースからのブログです。まず、カテゴリIDを与えないと、すべてのブログがインデックスページに来なければなりません。カテゴリを与えたら、categoryIDでブログを表示したいので、インデックスのオーバーロードを使用する必要があります。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」は次のアクションメソッドの間であいまいです: タイプSosyalSozluk.Areas.Blog.Controllers.HomeController System.Web.Mvc.ActionResult指数(Int32)を上System.Web.Mvc.ActionResultインデックス()タイプのSosyalSozluk.Areas.Blog.Controllers.HomeController

答えて

3

最初のメソッドを削除し、2番目のメソッドを変更してパラメータを任意に変更します。

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 
} 
関連する問題