Как вариант:
public static RouteValueDictionary RoutesToCurrentPage( this HtmlHelper helper )
{
var routeValues = new RouteValueDictionary( helper.ViewContext.RouteData.Values );
var queryString = helper.ViewContext.HttpContext.Request.QueryString;
foreach ( string key in queryString.Keys )
{
routeValues[key] = queryString[key];
}
return routeValues;
}
//Usage:
//In controller
var routeValues = Html.RoutesToCurrentPage();
routeValues["someParam"] = "newValue";
// In View
Html.ActionLink("Action", "Controller", routeValues);