要说路由不是我强大的套件是轻描淡写的,所以请耐心等待。
我的一个页面中有这个链接,我需要我的MVC路线来选择它并将其映射到
" MyArea"区域 " MessagesController"调节器 "收件箱"方法
http://localhost/MyArea/messages/list.asp?pjid=&box=in&sf=mesibox
到目前为止,我所提出的并没有削减它。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.MapRoute(
"Messages",
"messages/list.asp",
new
{
controller = "Messages",
action = "Inbox"
});
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new
{
controller = "Account",
action = "LogOn",
id = UrlParameter.Optional
}
);
任何帮助都将不胜感激。
谢谢你, 斯蒂芬
更新: Darin在这里回答了类似的问题How to route legacy QueryString parameters in ASP.Net MVC 3?,以便处理查询字符串参数。现在找出主要部分。
答案 0 :(得分:1)
您似乎已经定义了一个区域,因此它位于此区域的路由配置中,您可以尝试添加该路由而不是在global.asax中:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"MyArea_default",
"MyArea/messages/list.asp",
new { controller = "messages", action = "inbox" }
);
context.MapRoute(
"MyArea_default",
"MyArea/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}