yeomandev
yeomandev

Reputation: 11796

How can I pass parameters to an Action using Html.Action() in ASP.NET MVC?

I've been using Html.Action("ActionName", "ControllerName") to invoke child actions across controllers without needing to have the view in Views\Shared. This has been working great for displaying things like session or cookie information.

Instead of just accessing cookies, I would like to pass additional parameters to Html.Action("ActionName", "ControllerName") so the action can execute different code based on the the data passed to the original view.

Should I be using a different method to pass parameters to a child action in a different controller? How would one accomplish this?

Upvotes: 58

Views: 98453

Answers (2)

Roberto Hernandez
Roberto Hernandez

Reputation: 2427

You could specify additional data in the RouteValues property like this.

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

Upvotes: 118

codea
codea

Reputation: 1539

To add a little on this question, I am using ASP.Net MVC 5 and I could succeed to achieve this with this code:

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

Upvotes: 1

Related Questions