asp.net-mvc的ROUTE:无法找到资源

问题描述:

我使用的是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

交换的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

交换机的路由注册,以匹配所述第一路径被取这不是RawData之一。由于路由是在控制器解决之前确定的,因此缺省路由通向404而RawData路由不通。

您可能需要安装RouteDebugger软件包(通过nuget提供)以查看路由信息。