以下路径注册适用于我的asp.net MVC应用程序
routes.MapRoute("TrackingChannels", "TrackingChannels/{action}",
new { controller = "TrackingChannels", action = "Index" });
当我更改时,抓住此网址
我收到resource not found
错误
表示localhost:85 \ dis \ TrackingChannels
routes.MapRoute("TrackingChannels", "Dis/TrackingChannels/{action}",
new { controller = "TrackingChannels", action = "Index" });
我该如何解决这个问题?
答案 0 :(得分:0)
好吧,我需要出去所以我现在发布这个,因为我不知道我会有多久。
我设置了默认的MVC 3项目并更改了路由以匹配您的情况。
的Global.asax:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"TrackingChannels",
"Dis/TrackingChannels/{action}",
new { controller = "TrackingChannels", action = "Index" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
添加了TrackingChannelsController
:
public class TrackingChannelsController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Test()
{
return View();
}
}
我故意添加Test
操作以查看/dis/trackingchannels/{action}
是否也有效。然后我添加了几个视图,产生了以下项目结构:
最后,这是在浏览器中指定URL的结果:
首先使用/dis/trackingchannels
:
第二位/dis/trackingchannels/test
:
在没有看到你的项目的情况下我唯一可以说的是仔细检查URL是否与正确的路线匹配。为此,您可以使用Phil Haack's RouteDebugger。