如何从asp.net c#中的网址中删除“ .aspx”?

问题描述 投票:0回答:1

我想从我的网络应用程序网址中删除“ .aspx”。我也有使用网络服务。

如果我使用下面的代码,Web服务将无法正常工作。

Global.asax

protected void Application_BeginRequest(object sender, EventArgs e)
{
      String WebsiteURL = Request.Url.ToString();
      String[] SplitedURL = WebsiteURL.Split('/');
      String[] Temp = SplitedURL[SplitedURL.Length - 1].Split('.');

      // This is for aspx page
      if (!WebsiteURL.Contains(".aspx") && Temp.Length == 1)
      {
          if (!string.IsNullOrEmpty(Temp[0].Trim()))

              Context.RewritePath(Temp[0] + ".aspx");
      }
}

例如:-

实际页面是DEFAULT.aspx,但是我想在地址栏中显示DEFAULT。因此,我使用Global.asax删除了(.aspx)。一切正常。但Web服务无法正常运行(Default.asmx)

c# asp.net web-services web-config global-asax
1个回答
1
投票

安装软件包,Microsoft.AspNet.FriendlyUrls


在您的RouteConfig中,使用以下命令启用无扩展名的URL:

routes.EnableFriendlyUrls();

您可以使用扩展方法生成友好的url,例如,要生成/ Foo / bar / 34,可以使用:

<a href="<%: FriendlyUrl.Href("~/Foo", "bar", 34) %>">Click me</a>
© www.soinside.com 2019 - 2024. All rights reserved.