如何使用Html.ActionLink指定MVC3的确切URL

Nil*_*ile 3 asp.net-mvc razor asp.net-mvc-3

我有以下路线:

        routes.MapRoute(
            "Power", // Route name
            "Power/{id}", // URL with parameters
            new 
            { 
                controller = "flood", 
                action = "index", 
                id = UrlParameter.Optional 
            }
        );
Run Code Online (Sandbox Code Playgroud)

以及我打电话的以下地址:

<a href="/Power/"  >
Run Code Online (Sandbox Code Playgroud)

现在我想使用Html.ActionLink进行上述调用,如下所示:

@Html.ActionLink("xxx", 
                "index",
                "flood",
                new { "Power" },
                null 
                )
Run Code Online (Sandbox Code Playgroud)

它似乎没有工作,因为我得到一个错误"无效的匿名类型声明",我有新的{"Power"}.有人可以给我一些建议,让我走上正确的轨道.

我还希望能够通过另一个链接调用以下内容:

<a href="/Power/001"  >`
Run Code Online (Sandbox Code Playgroud)

谢谢

PS.请注意我使用的是MVC3.我理解这种语法从版本1> 2> MVC3更改.

Dar*_*rov 6

使用RouteLink而不是ActionLink:

@Html.RouteLink("xxx", "Power", new { id = "123" })
Run Code Online (Sandbox Code Playgroud)

或者如果您使用ActionLink指定控制器和操作,并根据您的路线定义顺序,则应选择正确的路线:

@Html.ActionLink("xxx", "index", "flood", new { id = "123" }, null)
Run Code Online (Sandbox Code Playgroud)