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)
{...}
}
}
交换的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
);
}
thx,解决了404错误,但找不到视图文件,我的视图文件位置是:webroot /View/Reddata/TNws/ Index.cshtml – 2012-08-17 07:12:31
不,您的视图必须是:'〜/ Views/EiphoneNews/Index.cshtml' – 2012-08-17 07:12:59
我不能设置一些值让asp.net-mvc去搜索路径吗? – 2012-08-17 07:17:05
交换机的路由注册,以匹配所述第一路径被取这不是RawData
之一。由于路由是在控制器解决之前确定的,因此缺省路由通向404而RawData
路由不通。
您可能需要安装RouteDebugger软件包(通过nuget提供)以查看路由信息。
开关默认和RAWDATA MapRoutes。现在它首先检查Default。 – Wim 2012-08-17 06:56:56