在MVC3应用程序中,我的家庭控制器中有一个视图,可通过以下URL访问:
http://mysite.com/home/mycontent
但是,我的用户希望通过以下方式加入:
http://mysite.com/mycontent(没有特定的家庭控制器参考)
我尝试使用以下内容修改global.asax:
routes.MapRoute(
"MyContent", // Route name
"MyContent", // URL with parameters
new { controller = "Home", action = "MyContent"} // Parameter defaults
);
但是当我尝试使用它时,我收到404错误。有没有办法可以完成我的用户想要做的事情 - 将URL重定向到特定的控制器/视图对?
答案 0 :(得分:2)
我认为你应该保留一些“参数”:
routes.MapRoute(
"MyContent", // Route name
"{action}/{id}", // URL with parameters
new { controller = "Home", action = "MyContent", id = ""} // Parameter defaults
);
答案 1 :(得分:1)
您的路线以何种顺序注册?该路线应该在您的默认路线之前。
E.g。
routes.MapRoute(
"MyContent", // Route name
"MyContent", // URL with parameters
new { controller = "Home", action = "MyContent"} // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Pages", action = "Index", id = UrlParameter.Optional }
);
否则,它应该工作......我的路由定义与此完全相同。