如何做一个自定义的asp.net路由(硬编码控制器)

时间:2008-12-22 01:18:09

标签: asp.net asp.net-mvc routing

我正在尝试为以下网址创建路由: www.mysite.com/user/username www.mysite.com/user/username/pictures

我尝试使用以下代码执行此操作:

routes.MapRoute(
            "UserProfile",
            "user/{sn}/{action}",
            new { controller = "User", action = "Index", sn = "" }
        );

因此,如果未指定操作,则转到索引操作。

然而,它不起作用,我不确定我做错了什么。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

看起来你的代码是正确的。

规则的顺序很重要。尝试将此置于所有其他规则之上。 如果它与其他规则相关,你应该为最佳匹配提供一些约束。

答案 1 :(得分:1)

我同意maxnk,代码看起来正确,它可能只是一个订购的东西。我建议查看Phil Haack所写的Route Debugger:http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx。这对于这些棘手的路由排序问题非常有用