如何从 asp.net c# 中的 url 中删除“.aspx”?
How to remove ".aspx" from url in asp.net c#?
我想从我的网络应用程序中删除“.aspx”url。我也有使用网络服务。
如果我使用以下代码,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,但我想在地址栏中显示默认值。所以我使用 Global.asax 删除 (.aspx)。它工作正常。但是网络服务不工作(Default.asmx)
有一个模块可以为您处理此问题,而无需直接操作 url,如下所述:http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx。
安装包,Microsoft.AspNet.FriendlyUrls
。
在您的 RouteConfig
中,使用以下方式启用了无扩展名网址:
routes.EnableFriendlyUrls();
您可以使用扩展方法生成友好的 url,例如生成 /Foo/bar/34,您可以使用:
<a href="<%: FriendlyUrl.Href("~/Foo", "bar", 34) %>">Click me</a>
我想从我的网络应用程序中删除“.aspx”url。我也有使用网络服务。
如果我使用以下代码,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,但我想在地址栏中显示默认值。所以我使用 Global.asax 删除 (.aspx)。它工作正常。但是网络服务不工作(Default.asmx)
有一个模块可以为您处理此问题,而无需直接操作 url,如下所述:http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx。
安装包,Microsoft.AspNet.FriendlyUrls
。
在您的 RouteConfig
中,使用以下方式启用了无扩展名网址:
routes.EnableFriendlyUrls();
您可以使用扩展方法生成友好的 url,例如生成 /Foo/bar/34,您可以使用:
<a href="<%: FriendlyUrl.Href("~/Foo", "bar", 34) %>">Click me</a>