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

quakkels picture quakkels · Jun 30, 2010 · Viewed 84.5k times · Source

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?

Answer

Roberto Hernandez picture Roberto Hernandez · Jun 30, 2010

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

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