【发布时间】:2011-04-10 08:29:16
【问题描述】:
我正在努力在 asp.net mvc 2 中生成出站 url。这是场景。
控制器:移动控制器 行动:索引() 查看:Index.aspx
现在我想要将多个 url 映射到具有不同参数 (locationId) 值的同一控制器 (MoveController) 和操作 (Index)
例如
- url -> RouteData
- /Production/ -> 移动/索引/1
- /Installation/ -> 移动/索引/2
- /Move/3/ -> 移动/索引/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
);
}
现在要在我的母版页菜单中生成出站 url,我正在做类似 ethis 的事情
<%= Html.ActionLink("Production", "Index", "Move", new{locationId = 1}, null)%>
<%= Html.ActionLink("Installation", "Index", "Move", new{locationId = 2}, null)%>
但以上生成
- /生产/1
- /生产/2
这是正确的,但我如何告诉它生成
- /Production/当locationId =1时
- /安装/当 locationId = 2
有什么想法吗?
等待,
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-2 url url-routing asp.net-mvc-routing