我想从我的网络应用程序网址中删除“ .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)
安装软件包,Microsoft.AspNet.FriendlyUrls
。
RouteConfig
中,使用以下命令启用无扩展名的URL:routes.EnableFriendlyUrls();
您可以使用扩展方法生成友好的url,例如,要生成/ Foo / bar / 34,可以使用:
<a href="<%: FriendlyUrl.Href("~/Foo", "bar", 34) %>">Click me</a>