Игнорировать встроенные ресурсы маршрутизации ASP.NET 4 WebForms - PullRequest
0 голосов
/ 15 апреля 2011

Я использую маршрутизацию в asp.net 4 веб-формы. У меня есть тема DLL, которая содержит все изображения, CSS и JS файлы, необходимые для внешнего вида. У меня есть только 1 страница, которая динамически загружает элемент управления на странице. Я использую маршрутизацию, чтобы различить запрос. Определены следующие маршруты:

routes.Ignore("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("Default-All-Pages", "Pages/{*OtherParams}", "~/Default.aspx", false);

Обработчик для управления встроенными ресурсами уже определен. Когда приложение выполняется с помощью кода, перенаправляет запрос в default.aspx. Затем он загружает файл CSS и снова направляет запрос в default.aspx.

Я хочу направить запрос css / jpg в обработчик виртуального пути, а не на страницу. Какой маршрут я должен определить, чтобы запрос файлов не обрабатывался страницей default.aspx?

Ответы [ 2 ]

1 голос
/ 17 апреля 2011
routes.Ignore("{*allaspx}", new { allaspx = @".*\.aspx(/.*)?" }); 
routes.Ignore("{*allcss}", new { allcss = @".*\.css(/.*)?" }); 
routes.Ignore("{*alljpg}", new { alljpg = @".*\.jpg(/.*)?" }); 
routes.Ignore("{*alljs}", new { alljs = @".*\.js(/.*)?" }); 

Это решило мою проблему.

0 голосов
/ 15 апреля 2011

Так же, как вы игнорируете HttpHandlers, вы можете добавить правила игнорирования для файлов css и jpg:

routes.Ignore("{resource}.css/{*pathInfo}");
routes.Ignore("{resource}.jpg/{*pathInfo}");

Они будут исключены из таблицы маршрутов и будут обрабатываться любыми зарегистрированными обработчиками / модулями/ ISAPI фильтры.

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