public static string HttpRouteUrl2 <TController>(this System.Web.Mvc.UrlHelper urlHelper, Expression <Action <TController> > expression) where TController : System.Web.Http.Controllers.IHttpController { var routeValues = expression.GetRouteValues(); var httpRouteKey = System.Web.Http.Routing.HttpRoute.HttpRouteKey; if (!routeValues.ContainsKey(httpRouteKey)) { routeValues.Add(httpRouteKey, true); } var url = string.Empty; if (routeValues.ContainsKey(HttpAttributeRouteWebApiKey)) { var routeName = routeValues[HttpAttributeRouteWebApiKey] as string; routeValues.Remove(HttpAttributeRouteWebApiKey); routeValues.Remove("controller"); routeValues.Remove("action"); url = urlHelper.HttpRouteUrl(routeName, routeValues); } else { var path = resolvePath <TController>(routeValues, expression); var root = getRootPath(urlHelper); url = root + path; } return(url); }
public static string HttpRouteUrl(string routeName, object routeValues = null) { var url = String.Empty; try { var helper = new System.Web.Mvc.UrlHelper(); return(helper.HttpRouteUrl(routeName, routeValues)); } catch { return(url); } }
public static String GenerateWopiUrl(this System.Web.Mvc.UrlHelper urlHelper, WebDavAccessToken token, string path) { var urlPart = urlHelper.HttpRouteUrl(OwaRouteNames.CheckFileInfo, new { accessTokenId = token.Id }); return(GenerateWopiUrl(token, urlPart, path)); }