Проблема при попытке проложить путь, который заканчивается на «.» - PullRequest
0 голосов
/ 03 июня 2009

Я пытаюсь проложить путь так:

http://www.wikipediamaze.com/wiki/Washington,_D.C.

Каркас маршрутизации не выбирает этот маршрут как допустимый и выдает ошибку «Не удается найти ресурс». Кто-нибудь знает, как я могу обойти это? Он даже не попадает на мою фабрику контроллеров, поэтому он даже не распознает его как маршрут или, возможно, ищет настоящий файл.

У меня нет проблем с подобными маршрутами, подобными этим:

http://www.wikipediamaze.com/wiki/United_States
http://www.wikipediamaze.com/wiki/Canadian_Bacon_(film)

но каждый раз, когда я заканчиваю URL "." это не маршрутизирует это. Если я делаю это, это работает:

http://www.wikipediamaze.com/wiki/?topic=Washington,_D.C.

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

routes.MapRoute(
    "wiki",
    "wiki/{topic}",
    new { controller = "game", action = "continue", topic = "" }
);

1 Ответ

0 голосов
/ 03 июня 2009

Точка интерпретируется как начало расширения файла, как в

mypage.mvc or index.aspx

Я бы не знал, как это исправить, хотя бы форма

http://www.wikipediamaze.com/wiki/?topic=Washington,_D.C.

выглядит очень четким и лаконичным для меня. Эта форма работает, потому что MVC автоматически знает, что после вопросительного знака будет следовать именованный параметр, а не другой частичный маршрут.

...