如何通过asp.net中的actionlink发送数据?

时间:2012-01-10 13:22:35

标签: asp.net-mvc-3 actionlink

在我想要制作的应用程序中,我的视图中有一个菜单如下:

<ul id="menu">
    <li>@Html.ActionLink("Create Project", "Display", "CreateDisplay")</li>
    <li>@Html.ActionLink("Open", "About", "Home")</li>
</ul>

其中CreateDisplay是控制器的名称,Display是该控制器中将调用另一个视图的方法。

但是,我希望Display方法接受某些参数,例如人的用户名。 在当前视图中,我已获得用户名@ViewData["UserName"]

但是我无法使用ActionLink传递这些值。 我尝试将参数传递为

<li>@Html.ActionLink("Create Project", "Display?UserName="+@ViewData["UserName"], "CreateDisplay")</li>

但收到例外。

请建议一些方法。

非常感谢你。

1 个答案:

答案 0 :(得分:2)

您需要使用接受路由值参数的重载。 See the overloaded method ActionLink() here

@Html.ActionLink(
    "Click me!",
    "Display",
    "CreateDisplay",
    new { UserName = "SetYourValHere" },
    null);