2012-05-21 3 views
0

как указать маршрут со статическим url с точкой в ​​нем.Как создать маршрут MVC3 с точкой ". ' в нем

routes.MapRoute("RouteForContentFolder", // Route name 
"Content/PDF/ABC.pdf", // URL with parameters 
new { controller = "User", action = "GetPdf"}// Parameter defaults 
); 

Если я укажу этот маршрут, он напрямую откроет файл PDF, не пройдя через контроллер и действие.

Я думаю, что точка в ABC.pdf является проблемой.

Может ли кто-нибудь сказать мне, как указывать точную точку '.' в статическом URL.

Я хочу, чтобы этот маршрут функционировать только тогда, когда входящий URL является

http://www.domainname.com/Content/PDF/ABC.pdf

Спасибо заранее.

+0

Худший случай, когда вы берете ABC.Pdf как параметр для маршрута PDF и проверяете его в методе контроллера. –

+0

Вы говорите, что у вас есть статический файл «/content/pdf/abc.pdf»? Если это так, физические файлы будут переданы FIRST до того, как .NET попытается сопоставить ваши запросы с известными маршрутами. Переименуйте или переместите файл PDF, и маршрут будет работать. –

+0

Какова цель этого URL-адреса, вы хотите открыть файл после прохождения через контроллер? –

ответ

0

Пройдите к контроллеру, как вы обычно это делали, а затем верните его в pdf-файл.

Не очень расширяемый, чтобы иметь фиксированный маршрут к ресурсу, представьте, есть ли у вас два или 10 ресурсов, сколько маршрутов для обслуживания.

+0

привет, извините, но я обеспокоен тем, что я не могу перейти к моему контроллеру и действию при наличии URL-адреса. ключевое слово в нем, например, например: http: domainname.com/Content/PDF/ABC.pdf – shakti

+0

Итак, вы можете получить имя файла pdf в качестве параметра. «Содержимое/PDF/{filename}» –

+0

с этим URL-адресом, отладчик не вводит контроллер и метод действий. он напрямую открывает файл .pdf. – shakti

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