2012-08-17 186 views
1

我使用的是asp.net mvc,但無法訪問我的頁面,得到了錯誤。asp.net-mvc的ROUTE:無法找到資源

頁面的URL:

本地主機:2334/RAWDATA/EiphoneNews

視圖文件的位置:

根目錄/查看/ RAWDATA/TNews/Index.cshtml

我路線:

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new HandleErrorAttribute()); 
    } 

    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(
      "RawData", // Route name 
      "RawData/{controller}/{action}/{id}", // URL with parameters 
      new { controller = "EiphoneNews", action = "Index", id = UrlParameter.Optional }, // Parameter defaults 
      new string[] { "News.Controllers.RawData" } 
     ); 
    } 




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

     RegisterGlobalFilters(GlobalFilters.Filters); 
     RegisterRoutes(RouteTable.Routes); 
    } 

我的控制器:

namespace News.Controllers.RawData 
{ 
    public class EiphoneNewsController : AuthorizedController 
    { 
     // 
     // GET: /EiphoneNews/ 
     public ActionResult Index(int pagenum = 0, int pagesize = 20, string queryString = null) 
     {...} 
    } 
} 
+0

開關默認和RAWDATA MapRoutes。現在它首先檢查Default。 – Wim 2012-08-17 06:56:56

回答

8

交換的2路由定義:

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

    routes.MapRoute(
     "RawData", // Route name 
     "RawData/{controller}/{action}/{id}", // URL with parameters 
     new { controller = "EiphoneNews", action = "Index", id = UrlParameter.Optional }, // Parameter defaults 
     new string[] { "News.Controllers.RawData" } 
    ); 


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

} 
+0

thx,解決了404錯誤,但找不到視圖文件,我的視圖文件位置是:webroot /View/Reddata/TNws/ Index.cshtml – 2012-08-17 07:12:31

+0

不,您的視圖必須是:'〜/ Views/EiphoneNews/Index.cshtml' – 2012-08-17 07:12:59

+0

我不能設置一些值讓asp.net-mvc去搜索路徑嗎? – 2012-08-17 07:17:05

0

交換機的路由註冊,以匹配所述第一路徑被取這不是RawData之一。由於路由是在控制器解決之前確定的,因此缺省路由通向404而RawData路由不通。

您可能需要安裝RouteDebugger軟件包(通過nuget提供)以查看路由信息。