2011-12-28 2 views
2

Я получаю 2 параметра на свой URL, но мне бы хотелось
до скрыть один (поскольку он мне действительно не нужен).MVC3 Маршрутизация - удалите param

Что было бы самым простым способом?

Моя текущая маршрутизация выглядит следующим образом:

routes.MapLocalizedRoute("Product", 
       "{Name}", 
       new { controller = "Catalog", action = "ProductByName" }, 
       new[] { "MyController" }); 

Как я могу скрыть какой-либо другой из параметров, который приходит на URL?
Скрываясь, я имею в виду не показывать его по самому URL-адресу.

Если скрытие не является допустимым для маршрутизации,
как бы перенаправить вызов с модуля маршрутизации?

+1

Я думаю, вам нужно сделать перенаправление, чтобы скрыть тот парам, который вам не нравится. – gdoron

+0

@gdoron У вас есть образец того, как это сделать на уровне маршрутизации? –

+0

Я добавил с ним ответ. Я бы не использовал его. Зачем тебе это? url - это просто ссылка, а второй параметр не так уж плохо IMO. – gdoron

ответ

0

Вы можете попробовать изменить/переписать URL-адрес. Я нашел this tutorial, который может вам помочь. Или, если производительность не такая уж большая, тогда вы можете сделать переадресацию.

+0

Это больше для приложений ASPX, а не MVC3. Я думаю, что –

+0

различия между aspx vs razor doen't действительно имеют какое-либо отношение к решению ... пример использует HttpContext.RewritePath (...), который доступен практически во всех ASP.NET ... действительно не должно быть проблем –

+0

Я еще проверю .... спасибо –

0

В действии перенаправление на новый адрес

return Redirect(/*... your's params.*/); 

Вы должны быть осведомлены о низкой производительности это вызывает, каждый запрос HTTP становится два.
Подумайте дважды, если это действительно то, что вам нужно и чего хотите.

+0

Я согласен ... это не тот тип решения, о котором я думал. Я больше надеялся обнаружить концептуальную маршрутизацию перенаправления: -) –

+0

@ Разработчик, вы пробовали, что предложил Надир? – gdoron

Смежные вопросы