2011-01-27 3 views
0

Я хотел бы узнать, как сделать маршрут «поймать остальных» в ASP.NET MVC?
Мне нужно взять сформированные URL-адреса, прочитать некоторые данные в его значениях и взять оставшуюся часть ссылки и сэкономьте ее до некоторой переменной, чтобы я мог ее прочитать позже и создать ссылку.
blog.mydomain.com/linker/process/2612010/2828/en/articles/october/asking-the-overflow/madd.aspxASP.NET MVC улавливает остальную часть маршрута url

читать как:
MemberId = 2612010
memberrating = 2828
язык = еп
restofurl = "статьи/октябрь/запрашиваемый-The-перелив/madd.aspx"


или эта ссылка: blog.mydomain.com/linker/process/2612010/2828/en/articles /october/read.aspx?m=828

читать как:

MemberId = 2612010
memberrating = 2828
язык = еп
restofurl = "статьи/октябрь/read.aspx м = 828"


или

blog.mydomain.com/linker/process/2612010/2828/ru/articles
до:
MemberID = 2612010
memberrating = 2828
язык = еп
restofurl = "статьи"


Я считал что-то вроде:

routes.MapRoute(
      "Linker", // Route name 
      "Linker/Process/{memberid}/{memberrating}/{lang}/{*other}", // ULR with parameters 
      new { controller = "Linker", action = "Process", lang = "en", other = UrlParameter.Optional} 
     ); 

Этот маршрут берет остальную часть правильно, но оммит параметры URL в конце: blog.mydomain.com/linker/process/2612010/2828/ru/articles/october/read.aspx?m=828

и отображает только изделия/октябрь/read.aspx
как значение "restofurl".
Мне не нужны классические url get params присваивать что угодно, просто хочу, чтобы они были частью переменной restofurl.

+0

Я не знаю, почему я не могу удалить жирный шрифт из строк, содержащих переменную restofurl. Не использовали никакого форматирования ... – BuzzBubba

+1

'---' под строкой создается заголовок. – SLaks

ответ

1

Я отвечу на это сам.

var restofurl = 
String.Format("{0}?{1}", RouteData.Values["other"], Request.QueryString); 

Будет ли эффективно создавать правильный URL-адрес. Если вам посчастливилось найти «более чистый/приятный» способ сделать это, напишите.

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