我正在使用Asp.Net 4.0并生成SEO友好的URL我使用Asp.Net路由方法,如;
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路由的方法,它可以从我的所有页面中删除.aspx扩展,而不管它们的目录级别(甚至是起始页面Default.aspx)。请帮忙吗?
答案 0 :(得分:1)
您可以在IIS或Web.Config中使用URL重写,并可以通过以下代码片段进行操作,将以下代码放在“Global.asax”中。
public static void RegisterRoutes(RouteCollection routeCollection) { routeCollection.MapPageRoute("RouteForDefault", "Default", "~/Default.aspx"); }
祝你好运
答案 1 :(得分:0)
如果您想要项目中所有页面的通用解决方案,可以在此处使用该包: 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);
}
}