简体   繁体   中英

How to remove “.aspx” from url in asp.net c#?

I want to remove ".aspx" from my web appliaction url. also I have using webservices.

If I use below code web services is not working.

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");
      }
}

for Eg:-

Actual page is DEFAULT.aspx, but I want to show DEFAULT in address bar. So I used Global.asax to remove (.aspx). It's working fine. but Web service is not working(Default.asmx)

There is a module that will handle this for you without having to directly manipulate the urls, as described here: http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx .


Install the package, Microsoft.AspNet.FriendlyUrls .

In your RouteConfig , the extensionless urls are enabled using:

routes.EnableFriendlyUrls();

You can generate friendly urls using extension methods, for example, to generate /Foo/bar/34, you can use:

<a href="<%: FriendlyUrl.Href("~/Foo", "bar", 34) %>">Click me</a>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM