如何在ASP.NET MVC中使用Html.Action()将参数传递给Action?

时间:2010-06-30 15:00:29

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

我一直在使用Html.Action("ActionName", "ControllerName")来跨控制器调用子操作,而无需在Views \ Shared中拥有视图。这对于显示会话或cookie信息等内容非常有用。

我希望将其他参数传递给Html.Action("ActionName", "ControllerName"),而不仅仅是访问Cookie,因此操作可以根据传递给原始视图的数据执行不同的代码。

我是否应该使用其他方法将参数传递给其他控制器中的子操作?如何实现这一目标?

2 个答案:

答案 0 :(得分:99)

您可以在RouteValues属性中指定其他数据,如下所示。

Html.Action("Controller","Name", new { id = 1 })

答案 1 :(得分:0)

为了在这个问题上添加一点,我使用的是ASP.Net MVC 5,我可以用这段代码成功实现这个目标:

@Html.Action("foo",new {parameter1=1})