如何将数据作为参数绑定到ActionLink?

时间:2009-01-27 21:38:24

标签: c# asp.net-mvc

我对ActionLink有疑问。 我想传递给我的MessageController的ActionLink参数,对于Edit动作:生成像这样的事件/ MessagesController / Edit / 4

所以我有带有绑定表达式的ListView控件:

以及如何将此ID作为参数传递给ActionLink作为我的Controller Edit操作? 这不起作用: ,null)%>

3 个答案:

答案 0 :(得分:6)

在MVC中,您不应该以您拥有的方式从视图中进行数据绑定。您要传递给ActionLink方法的数据需要添加到控制器中的ViewData。然后在视图中从ViewData中检索它:

<%= Html.ActionLink("My Edit Link", "Edit", "Message", new { id = ViewData["id"] }) %>

答案 1 :(得分:3)

<%= Html.ActionLink("My Edit Link", "Edit", "Message", new { id = ((Message)Container.DataItem).ID }, null) %>

答案 2 :(得分:2)

试试这个

<%= Html.ActionLink("my link", "Edit", "Message", new { id = ((Message)Container.DataItem).ID }) %>

您需要将它放在RouteData中才能显示它。注意我假设 id 是路线定义中的路线部分之一。