Esto podría ser hace años, pero de todos modos, esto también depende de su ruta de mapa Global.asax, ya que puede agregar o editar parámetros para ajustarse a lo que desee.
p.ej.
Global.asax
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
//new { controller = "Home", action = "Index", id = UrlParameter.Optional
new { controller = "Home", action = "Index", id = UrlParameter.Optional,
extraParam = UrlParameter.Optional // extra parameter you might need
});
}
entonces los parámetros que deberá pasar cambiarán a:
return RedirectToAction( "Main", new RouteValueDictionary(
new { controller = controllerName, action = "Main", Id = Id, extraParam = someVariable } ) );
Return RedirectToAction("Action", "Controller", New With {.id = 99})