我在 ASP.NET 4.5 中成功使用了"友好 URL"模块
在路由配置中,我可以添加这样的路由:
routes.MapPageRoute("mypage", "mypage/{mypageName}", "~/mypage.aspx");
对于如下所示的网址:
mysite.com/mypage/hello
在"我的页面.aspx"页面中,我可以得到这样的URL段:
using Microsoft.AspNet.FriendlyUrls;
// Get URL segments
IList<string> segments = Request.GetFriendlyUrlSegments();
if (segments.Count > 0)
{
// Get first segment
string url = segments[0];
}
但是,我无法将其用于根 URL。 例如"我的 site.com/ttee"
我想获取"ttee"并将其传递到页面中。但是'Request.GetFriendlyUrlSegments()'为根返回0。
我怎样才能最好地做到这一点?
routes.MapPageRoute("mypage", "mypage/{mypageName}", "~/mypage.aspx");
这仅适用于以下格式的网址:
www.example.com/mypage/changingparthere
如果你想做到
www.example.com/changablemypage
将其设置为:
routes.MapPageRoute("mypage", "{mypageName}", "~/mypage.aspx");
但正如你所看到的,它会捕捉到几乎所有的东西。因此,请确保它是 Global.asax 上的最后一个路由。