MVC2中的Urlredirect

时间:2010-02-23 07:39:25

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

在global.asax

        routes.MapRoute(
            "Test_Default", // Route name
            "test/{controller}/{action}", // URL with parameters
            new { }
        );


        routes.MapRoute(
            "Default",
            "{universe}",
            new { controller = "notfound", action = "error"}
        );

我有一个控制器:Home,包含一个动作:索引 在浏览器中输入url:h ** p:// localhost:53235 / test / home / index

在< body>中的index.aspx视图内tag:我想链接到第二条路线。

<%=Html.RouteLink("Link", new { universe = "MyUniverse" })%>

这不应该生成到Global.asax中第二条路线的链接吗?上面生成的url是:h ** p:// localhost:53235 / test / home / index?universe = MyUniverse。如果我指定路线的名称,我只能让它工作:<%=Html.RouteLink("Link", "default", new { universe = "MyUniverse" })%>

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

正如您所发现的,如果要生成指向第二条路线的链接,则需要使用路线名称。将始终评估第一个路由,因为即使路由定义中不存在universe参数,它也只是作为查询字符串参数传递。