好吧,我需要出去,所以我现在就发布这个,因为我不知道我还要多久。
我设置了一个默认的 MVC 3 项目并更改了路由以匹配您的情况。
全球.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 的 RouteDebugger。