Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Asp.net Webforms порядок приоритета MapPageRoute

Автор вопроса: mokeОтветов: 1

Я пытаюсь использовать функцию MapPageRoute в Visual Studio 2010 и .NET Framework 4.0 с приложением asp.net webforms.

Я заметил, что если я определяю маршрут страницы с именем "По умолчанию", как показано ниже, и страница Default.aspx существует в проекте, то маршрут не работает.

routes.MapPageRoute("Default", "default.aspx", "~/Page2.aspx");
routes.MapPageRoute("Test", "test.aspx", "~/Page2.aspx");

Если я изменю имя Default.aspx в проекте на Default_1.aspx, тогда маршрут будет работать нормально.

Похоже, что существует какой-то порядок приоритета. Есть ли способ сначала оценить мои определения маршрутов, чтобы мне не пришлось переименовывать свои страницы для использования механизма маршрутизации?

routeswebforms

Ответы

Ответ 1 · рейтинг 4 · Jon

В RouteCollection есть свойство под названием RouteExistingFiles, для которого по умолчанию установлено значение false. Это объясняет, почему маршрут по умолчанию не работает, если у вас есть страница default.aspx.

Если вы вставите routes.RouteExistingFiles = true; перед строками кода, это сделает маршруты более приоритетными. Я не уверен на 100%, будет ли он затем возвращаться к файлам, если он не может маршрутизировать - я думаю, это зависит от маршрутов, которые вы настроили ...

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы