ASP.NET MVC路由映射问题
我正在努力在asp.net mvc 2中生成出站URL。这是场景。
控制器:MoveController
行动:索引()
查看:Index.aspx
现在我想要的是将多个url映射到具有不同参数(locationId)值的同一控制器(MoveController)和action(Index)
例如
url - > RouteData
/ Production / - > Move / Index / 1
/安装/ - >移动/索引/ 2
/ Move / 3 / - > Move / Index / 3
我的映射看起来像这样:
public static void RegisterRoutesTo(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{*favicon}", new
{
favicon = @"(.*/)?favicon.ico(/.*)?"
});
routes.MapRoute(
null, // Route name
"Production/{locationId}", // URL with parameters
new
{
controller = "Move",
action = "Index"
}, // Parameter defaults
new
{
locationId = @"d+"
}// constraint for Production url
);
routes.MapRoute(
null, // Route name
"Installation/{locationId}", // URL with parameters
new
{
controller = "Move",
action = "Index"
}, // Parameter defaults
new
{
locationId = @"d+"
}// constraint for Production url
);
routes.MapRoute(
null, // Route name
"Move/{locationId}", // URL with parameters
new
{
controller = "Move",
action = "Index"
}, // Parameter defaults
new
{
locationId = @"d+"
}// constraint for Production url
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
} // Parameter defaults
);
}
现在要在我的母版页菜单中生成出站网址,我正在做一些类似的事情
<%= Html.ActionLink("Production", "Index", "Move", new{locationId = 1}, null)%>
<%= Html.ActionLink("Installation", "Index", "Move", new{locationId = 2}, null)%>
但以上产生
/生产/ 1
/生产/ 2
这是正确的,但我怎么能告诉它生成
/ production /当locationId = 1时
/ installation / when locationId = 2
任何的想法?
等待,
没有找到相关结果
已邀请:
3 个回复
期差骇蓟
);
);
很缴
这有效,但后来我意识到,在定义Html.ActionLink时,为参数赋予null值
它产生了生产/网址,它应该是订单中的第一个。 我不知道的是,有必要在网址中定义{parameters}。我一直认为需要在url中定义参数。 感谢所有帮助人员
杭难插