Html ActionLink路由问题

时间:2011-02-07 15:32:50

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

我定义了以下路线:

routes.MapRoute("Blog",
            "Blog/{controller}/{action}",
            new { controller = "Test", action = "Index" });

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

当我致电http://localhost/时,所有链接都是错误的并转到博客:

@ Html.ActionLink(“关于”,“关于”,“主页”)创建以下网址:

本地主机/博客/关于

但它应该创建

本地主机/关于

为什么HtmlActionLink总是在网址前加上“博客”?

1 个答案:

答案 0 :(得分:1)

ActionLink将匹配您传递给它的参数的第一条路线 由于您的Blog路由包含controlleraction参数,因此它将使用该路由。

您应该将Blog路线更改为更具体。