2011-06-22 30 views
2

此問題從今天開始,我不知道爲什麼!我有一個名爲「課程」的控制器,它有一個索引操作。所以一般來說,只要導航到http://domain.com/Course,我就可以查看該頁面。但截至今天,如果我在URL中不包含'索引',即http://domain.com/Course/Index,我將收到資源找不到頁面。ASP.NET MVC控制器索引操作無法在不添加索引的情況下加載URL

我當然控制器:

[HandleError] 
    public class CourseController : Controller 
    { 
     OIEPRepository repo = new OIEPRepository(); 

     public ActionResult Index() 
     { 
      var courses = repo.GetCourseCategoriesByCulture(SiteGlobals.UICulture).ToList(); 
      return View(courses); 
     } 

     [AcceptVerbs("GET")] 
     public ActionResult Detail(int id) 
     { 
      var course = repo.GetCourseById(id); 
      if (course != null) 
       return View(course); 
      else 
       return RedirectToAction("Index"); 
     } 

    } 

我Global.ascx後面的代碼:

public static void RegisterRoutes(RouteCollection routes) 
{ 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       "Default", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
      ); 

      /*routes.MapRoute(
       "Detail", 
       "{controller}/{id}", 
       new { controller = "Course", action = "Detail", id = 0 } 
      );*/ 

} 

     protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 

      RegisterRoutes(RouteTable.Routes); 
     } 

任何想法是怎麼回事?

+0

您顯示的代碼應該可以工作。問題在於別的地方。因此,如果今天開始出現這個問題,您可以簡單地使用VCS中的源代碼進行比較,並比較昨天以來發生變化的時間。 –

+0

嗯我也這麼認爲。我做了很多改變。我主要添加了GalleryServerPro模塊。 –

回答

0

它是否需要HttpGet屬性修飾[AcceptVerbs(「GET」)]與細節操作一樣。