mapRoute к веб-форме с использованием ASP.NET 4 - PullRequest
0 голосов
/ 23 июля 2011

У меня есть такой URL

http://localhost:4737/Site/listing/NH/Plaistow/2831516

и я хочу перенаправить его на

http://localhost:4737/Site/listing.aspx

Я читал, как сделать это для веб-форм здесь http://www.4guysfromrolla.com/articles/012710-1.aspx

Вот как выглядит мой маршрут.

  routes.MapRoute(
  "FriendlyUrl",
  "Site/listing/{state}/{town}/{mlsnumber}",
  "~/Site/listing.aspx");

На моей странице листинга я планирую получить доступ к следующим переменным

  Page.RouteData.Values["state"]
  Page.RouteData.Values["town"]
  Page.RouteData.Values["mlsnumber"]

Но когда я перехожу к http://localhost:4737/Site/listing/NH/Plaistow/2831516, Я просто получаю ошибку HTTP 404.

Я знаю, как заставить это работать с MVC, но это довольно большое приложение, все написанное с помощью веб-форм, поэтому переписывание невозможно.

Любые идеи о том, как решить эту проблему, будут полезны.

Спасибо!

Вот рабочий код. Спасибо mrchief за помощь в решении этой проблемы.

  routes.MapPageRoute(
  "FriendlyUrl",
  "listing/{state}/{town}/{mlsnumber}", 
  "~/listing.aspx");  

1 Ответ

2 голосов
/ 23 июля 2011

Вы делаете это по-другому.Если вы используете WebForms, вам нужно реализовать UrlRoutingModule, как показано здесь: http://www.4guysfromrolla.com/articles/051309-1.aspx

Правила маршрутизации были разработаны для использования в приложениях ASP.Net MVC, где вы перенаправляете Url на соответствующиеController (Страница в WebForms) с action параметрами (параметры запроса на языке WebFroms).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...