ASP.NET Webform URL重写不起作用

时间:2017-10-25 12:07:18

标签: c# asp.net webforms

我创建了一个asp.net Web表单应用程序,我希望在URL中使用不同的文本而不是实际的应用程序页面。例如
我的URL如下

  

http://localhost:9802/Product.aspx

但我希望最终用户能够按以下方式查看此网址

  

http://localhost:9802/Main/Accessories

不是我已经在使用网址重写,但它不起作用。
这是代码。

Routeconfig.cs

    public static void RegisterRoutes(RouteCollection routes)
    {
        var settings = new FriendlyUrlSettings();
        settings.AutoRedirectMode = RedirectMode.Permanent;
        routes.EnableFriendlyUrls(settings);
     }

1 个答案:

答案 0 :(得分:0)

当你谈论Url重写ASP.NET时,Just EnableFriendlyUrls不起作用 更改您的代码如下

    public static void RegisterRoutes(RouteCollection routes)
    {
        var settings = new FriendlyUrlSettings();
        settings.AutoRedirectMode = RedirectMode.Permanent;
        routes.EnableFriendlyUrls(settings);
        RegisterCustomRoutes(RouteTable.Routes);
    }  

    public static void RegisterCustomRoutes(RouteCollection routes)
    {
        routes.MapPageRoute(
            "Main",
            "Accessories/",
            "~/Product.aspx"
        );
    }  
  

您可以在自定义函数中添加不同的页面以应用网址重写。