Маршрутизация ASP.NET Webforms 4.0: как избавиться от физических URL-адресов

Как бы вы это сделали в ASP.NET Webforms 4.0 Routing;

  • Страницы .aspx не должны быть доступны напрямую, страницы должны быть доступны только с маршрутами,
  • Стартовой страницей должен быть «/» или «/ home» или что-то еще, но не «Default.aspx».

Спасибо.


person Alper    schedule 29.03.2010    source источник


Ответы (2)


Вы можете указать маршруты игнорирования, чтобы игнорировать маршрутизацию для ваших статических обработчиков, для части статического содержимого (хотя маршрутизация, если статический файл существует, обычно направляется непосредственно в файл без проблем).

Я считаю, что вы хотите использовать метод MapPageRoute для веб-форм, который предназначен для веб-форм. См. Примеры: http://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.mappageroute%28VS.100%29.aspx

person Brian Mains    schedule 29.03.2010

Вы читали пост Скотта Гатри, посвященный этой теме?

http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx

Вы бы сделали следующее:

void RegisterRoutes(RouteCollection routes)
{
    routes.MapRoute("nameofroute", "home/", "~/Default.aspx");
}

Добавление параметров по мере необходимости

person David Fox    schedule 29.03.2010
comment
Да, но это не мешает напрямую достичь default.aspx, а также стартовой страницей остается default.aspx. - person Alper; 30.03.2010