2010-06-04 3 views
2

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

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

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

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

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

ответ

3

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

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

+1

настройка маршрутов. RouteExistingFiles = true сделал трюк. Благодарю. – moke

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