ASP.NET“友好URL”模块 - 不适用于根URL

时间:2014-03-03 14:23:51

标签: asp.net friendly-url

我成功使用了“友情网址”' ASP.NET 4.5中的模块

在路线配置中,我可以添加如下路线:

routes.MapPageRoute("mypage", "mypage/{mypageName}", "~/mypage.aspx");

对于这样的网址:

mysite.com/mypage/hello

页面' mypage.aspx'我可以得到这样的网址:

using Microsoft.AspNet.FriendlyUrls;

// Get URL segments
IList<string> segments = Request.GetFriendlyUrlSegments();
if (segments.Count > 0)
{
    // Get first segment
    string url = segments[0];



}

但是,我无法让这个工作用于根URL#s。例如&#39;我的网站http://ttee'

我想得到&#39;并将其传递到页面中。但是&#39; Request.GetFriendlyUrlSegments()&#39;为根返回0。

我最好能做到这一点吗?

1 个答案:

答案 0 :(得分:4)

routes.MapPageRoute("mypage", "mypage/{mypageName}", "~/mypage.aspx");

这仅适用于此格式的网址:

www.example.com/mypage/changingparthere

如果你想成功

www.example.com/changablemypage

将其设置为:

routes.MapPageRoute("mypage", "{mypageName}", "~/mypage.aspx");

但正如你所看到的,它会抓住一切。因此,请确保它是Global.asax上的最后一个路由。