Страница маршрутизации из подпапки

Я использую веб-формы ASP.NET 4.0 с мастер-страницами. У меня есть следующее правило маршрутизации в моем файле Global.asax.cs:

routes.MapPageRoute("", "Ministries", "~/Ministries/Ministries.aspx");

Он отлично работает, когда я изменяю правило выше, чтобы отображать страницу содержимого из корня. Когда я перехожу на страницу с помощью http://localhost/church/ministries, страница отображает вид каталога. Что мне не хватает?


person IrishChieftain    schedule 15.01.2012    source источник


Ответы (1)


Дайте маршруту имя и измените имя папки, так как имена маршрута и папки конфликтуют.

routes.MapPageRoute("ministries", "Ministries", "~/Ministry/Ministries.aspx");

и вы должны перейти к нему следующим образом (из примера asp: linkbutton используйте что угодно)

NavigateUrl="<%$RouteUrl:RouteName=ministries %>"

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

person justinlabenne    schedule 15.01.2012
comment
ааа... имя папки совпадает с маршрутом. Переименуйте папку и настройте маршрут, должно работать. Просмотр каталога будет иметь приоритет над маршрутизацией. - person justinlabenne; 15.01.2012
comment
Это сделало это. Чтобы уточнить, я заново создал веб-форму, чтобы убедиться, что она правильная, и использовал следующее правило: route.MapPageRoute(Ministries, Ministries, ~/Ministry/Ministries.aspx); - person IrishChieftain; 15.01.2012