Я использую Asp.Net 4.0 и для создания SEO Friendly Urls Я использую Asp.Net Routing методы, такие как;
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add("BikeSaleRoute", new Route
(
"bikes/sale",
new CustomRouteHandler("~/Contoso/Products/Details.aspx")
));
}
Обработка его в методе Application_Start
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
То, что я пытаюсь написать, - это метод с использованием Asp.net Routing, который может удалять расширения.aspx со всех моих страниц независимо от их уровня каталогов (даже стартовой страницы Default.aspx). Любая помощь в этом отношении, пожалуйста?
Вы можете использовать повторную запись URL в IIS или в Web.Config и можете сделать, выполнив следующий фрагмент кода, поместите следующий код в "Global.asax".
public static void RegisterRoutes(RouteCollection routeCollection) { routeCollection.MapPageRoute("RouteForDefault", "Default", "~/Default.aspx"); }
Удачи
Если вы хотите общее решение для всех страниц вашего проекта, вы можете использовать этот пакет здесь: http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx
В противном случае вы можете использовать это в Global.asax для каждой страницы вашего приложения:
public class Global : System.Web.HttpApplication
{
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("InteriorServices", "InteriorServices", "~/InteriorServices.aspx");
}
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
}