我有以下路线:
routes.MapRoute(
"Power", // Route name
"Power/{id}", // URL with parameters
new
{
controller = "flood",
action = "index",
id = UrlParameter.Optional
}
);
以及我打电话的以下地址:
<a href="/Power/" >
现在我想用这样的Html.ActionLink进行上述调用:
@Html.ActionLink("xxx",
"index",
"flood",
new { "Power" },
null
)
似乎没有工作,因为我收到错误“无效的匿名类型声明”,我有新的{“Power”}。有人可以给我一些建议,让我走上正确的轨道。
我还希望能够通过另一个链接调用以下内容:
<a href="/Power/001" >`
感谢
PS。请注意我使用的是MVC3。我理解这个版本的语法从版本1&gt; 2&gt; MVC3。
答案 0 :(得分:6)
使用RouteLink代替ActionLink:
@Html.RouteLink("xxx", "Power", new { id = "123" })
或者如果您使用ActionLink指定控制器和操作,并根据您的路线定义顺序选择正确的路线:
@Html.ActionLink("xxx", "index", "flood", new { id = "123" }, null)
答案 1 :(得分:0)
问题在于声明参数。 这样可以正常工作:
没有ID:
@Html.ActionLink("xxx",
"index",
"flood")
ID:
@Html.ActionLink("xxx",
"index",
"flood",
new { id =123 },
null
)
您正在声明一个匿名类型,而不是说该属性的名称,只是该值。