C# 使用Asp.net路由有没有简单的方法可以删除使用Asp.net路由的.aspx扩展名
我使用Asp.NET4.0,为了生成SEO友好的URL,我使用Asp.Net路由方法,如C# 使用Asp.net路由有没有简单的方法可以删除使用Asp.net路由的.aspx扩展名,c#,asp.net,url-rewriting,url-routing,C#,Asp.net,Url Rewriting,Url Routing,我使用Asp.NET4.0,为了生成SEO友好的URL,我使用Asp.Net路由方法,如 public static void RegisterRoutes(RouteCollection routes) { routes.Add("BikeSaleRoute", new Route ( "bikes/sale", new CustomRouteHandler("~/Contoso/Products/Details.aspx") )); }
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add("BikeSaleRoute", new Route
(
"bikes/sale",
new CustomRouteHandler("~/Contoso/Products/Details.aspx")
));
}
在应用程序启动方法中处理它
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
我试图编写的是一个使用Asp.net路由的方法,该方法可以从我的所有页面中删除.aspx扩展名,而不管它们的目录级别如何(甚至包括起始页面Default.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);
}
}
您可以在IIS或Web.Config中使用URL重写,并且可以通过以下代码片段来完成,将以下代码放在“Global.asax”中
公共静态无效注册表项(RouteCollection RouteCollection)
{
routeCollection.MapPageRoute(“RouteFordFault”、“Default”、“Default”、“~/Default.aspx”);
}
祝你好运Kamlesh Arya,我需要使用Asp.net路由技术,而不是需要IIS确认www.example.com/Default,而不是使用此URL:www.example.com/Default.aspx,它将工作。是的,现在可以工作,但这仅用于一个页面。如果我们想要一个通用的方法来处理项目中的每一个页面呢?亲爱的,你可以在很多页面上使用这个方法,比如:routeCollection.MapPageRoute(“RouteFordFault”,“Page1”,“~/Page1.aspx”);routeCollection.MapPageRoute(“RouteFordFault”、“Page2”、“~/Page2.aspx”);,没有写单行的快捷方式来删除.aspx扩展名,如果您将使用标准的URL重写,那么您将为不同的页面写不同的内容。。希望你能理解。谢谢你的帮助。我尝试搜索备选方案,但除了对每个页面使用单独的规则外,在“路由”的边界下找不到一个。是的,这样做很公平,可以开始,然后开始重新编写IIS URL。幸运的是,上述代码只适用于特定页面。a需要能够在解决方案中的每一页上工作的东西。谢谢