В Global.asax.csМогу ли я использовать RouteLink для изменения параметров маршрута в зависимости от линии щелкнул, MVC3
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Menu", PageName="Index" } // Parameter defaults
);
routes.MapRoute(
"NewRoute", // Route name
"{controller}/{action}/{PageName}", // URL with parameters
new { controller = "Home", action = "Menu", PageName = UrlParameter.Optional } // Parameter defaults
);
Я хочу, чтобы этот параметр PageName
быть «Index
» только для первой загрузки домашней страницы , После этого по ссылке меню нажмите Мне нужно передать значение параметра PageName
, соответствующее ссылке, а не значение «Индекс». Хенс я написал новый MapRoute, где PageName является необязательным, а не «индексом».
Так что в моем _Layout.cshtml
foreach(...)
{
@Html.ActionLink(item.Title, "Menu", "Home", new { PageName = item.PageName, role = "Admin" }, null)
}
В настоящее время для всех ссылок клик только значение «Index» параметра берется, Который является непреднамеренным. Я хочу, чтобы этот «index» был «home» или «aboutUS» или «...» в зависимости от кликов пользователя ссылки.
После некоторого поиска, я обнаружил, что RouteLink может изменить маршрут по умолчанию ...
@Html.RouteLink(item.Title, "NewRoute", new { PageName = item.PageName })
В сущности, мне нужно указать DefaultValue для PageName, а также он должен измениться на клики по ссылкам.
Пожалуйста, сообщите, является ли маршрутизация решением этой проблемы.
Вам нужен {id}? – hiddenbyte
no id не является обязательным параметром ... – Jesna
Пожалуйста, дайте вашему вопросу хорошо читаемый заголовок. – abatishchev