我的索引页面包含来自数据库的博客。首先,如果我不提供categoryID,那么所有博客都必须进入索引页面。如果我给出类别,那么我想按类别ID显示博客,所以我需要使用索引重载。
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();}
但是当我想显示所有博客时,错误就是这样:
当前的行动请求&#39;索引&#39;在控制器类型&#39; HomeController&#39;以下操作方法之间不明确: 类型为SosyalSozluk.Areas.Blog.Controllers.HomeController的System.Web.Mvc.ActionResult Index() SosyalSozluk.Areas.Blog.Controllers.HomeController类型的System.Web.Mvc.ActionResult索引(Int32)
答案 0 :(得分: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
}