我有行动称为联系家庭控制器ASP.NET MVC 3.0网址Rewritng
<mysite>/Home/Contact
我希望能够通过键入<mysite>/Contact
得到相同的结果<mysite>/Home/Contact
是否有可能做mvc 3.0路由或RouteMagic?
目前,我试图做到这一点像,但没有运气:
自定义路线:
routes.MapRoute(
"Contact", // Route name
"Contact", // URL with parameters
new { controller = "Home", action = "Contact", id = UrlParameter.Optional } // Parameter defaults
);
RouteMagic:
var route = routes.MapRoute("new", "Contact");
routes.Redirect(r => r.MapRoute("old", "Home/Contact"))
.To(route);
更新
好的自定义路线应该先定义,现在它正在工作(在定制路线的情况下),但在那里我s出现了一个新的问题why route magic returning error
:
Server Error in '/' Application.
Value cannot be null or empty.
Parameter name: controllerName
谢谢,我曾经想过,但有点懒得去尝试。 – Joper 2011-05-01 13:51:22
@Joper - 默认路由应该是最后添加的路由,以便首先匹配任何特定的路由。 – tvanfosson 2011-05-01 13:55:56
可能你有任何想法,为什么RouteMagic在这种情况下返回错误'值不能为空或空。 参数名称:controllerName' – Joper 2011-05-01 14:02:46