Я борюсь с генерацией исходящих URL-адресов в asp.net mvc 2. Вот сценарий.
Контроллер: MoveController
Действие: Индекс ()
Вид: Index.aspx
Теперь я хотел бы, чтобы несколько URL отображались на один контроллер (MoveController) и action (Index) с другим параметром ( locationId ), значение
, например
- url -> RouteData
- / Производство / -> Переместить / Индекс / 1
- / Установка / -> Переместить / Указатель / 2
- / Переместить / 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 в меню главной страницы, я делаю что-то подобное
<%= Html.ActionLink("Production", "Index", "Move", new{locationId = 1}, null)%>
<%= Html.ActionLink("Installation", "Index", "Move", new{locationId = 2}, null)%>
Но вышеизложенное порождает
- / Производство / 1
- / Производство / 2
, что правильно, но как я могу сказать, чтобы генерировать
- / Производство / когда locationId = 1
- / Установка / когда locationId = 2
Есть идеи?
Пользователи