Asp.net页面路由无法正常工作

时间:2010-09-19 22:32:22

标签: asp.net routing

我正在尝试添加页面路由(我使用常规的asp.net 4.0,而不是mvc),以便当用户访问时:

http://sitename.com/public/member/view/andrey

他们会: http://sitename.com/public/memberprofile.aspx?userName=andrey

我在Global.asax中添加了以下内容:

protected void Application_Start(object sender, EventArgs e)
{
    RouteTable.Routes.MapPageRoute("MemberViewRoute",
        "Public/View/Member/{username}",
        "~/Public/MemberProfile.aspx");
}

但是当我尝试在浏览器中访问http://sitename.com/public/member/view/andrey时,我得到了404

除了添加页面路由映射之外,还有什么其他方法可以使此路由工作吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

您的路线显示Public/View/Member/{username}
但您的链接是/public/member/view/andrey

这肯定是404

为什么不尝试将路线改为

protected void Application_Start(object sender, EventArgs e)
{
    RouteTable.Routes.MapPageRoute("MemberViewRoute",
        "Public/Member/View/{username}",
        "~/Public/MemberProfile.aspx");
}

看看会发生什么

答案 1 :(得分:1)

我实际上发现这篇很棒的文章帮助我解决了我的问题:http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx