/// <summary> /// 获取导航Url /// </summary> /// <param name="presentAreaNavigation">被扩展的navigation</param> /// <param name="spaceKey">空间标识</param> /// <param name="routeValueDictionary">路由数据集合</param> /// <returns></returns> public static string GetUrl(this PresentAreaNavigation presentAreaNavigation, string spaceKey, RouteValueDictionary routeValueDictionary = null) { if (presentAreaNavigation.NavigationUrl != null && !string.IsNullOrEmpty(presentAreaNavigation.NavigationUrl.Trim())) { return(presentAreaNavigation.NavigationUrl); } RouteValueDictionary routeDatas = null; if (!string.IsNullOrEmpty(presentAreaNavigation.RouteDataName) && routeValueDictionary != null) { string[] routeNames = presentAreaNavigation.RouteDataName.Split(','); routeDatas = new RouteValueDictionary(routeValueDictionary.Where(n => routeNames.Contains(n.Key)).ToDictionary(n => n.Key, n => n.Value)); if (!routeNames.Contains("userName") && !routeNames.Contains("spaceKey")) { routeDatas.AddOrReplace("sapceKey", spaceKey); } return(CachedUrlHelper.RouteUrl(presentAreaNavigation.UrlRouteName, routeDatas)); } routeDatas = new RouteValueDictionary() { { "spaceKey", spaceKey } }; return(CachedUrlHelper.RouteUrl(presentAreaNavigation.UrlRouteName, routeDatas)); }
/// <summary> /// 获取导航Url /// </summary> /// <param name="navigation">被扩展的navigation</param> /// <param name="spaceKey">空间标识</param> /// <param name="routeValueDictionary">路由数据集合</param> /// <returns></returns> public static string GetUrl(this Navigation navigation, string spaceKey, RouteValueDictionary routeValueDictionary = null) { if (!string.IsNullOrEmpty(navigation.UrlRouteName)) { RouteValueDictionary routeDatas = null; if (!string.IsNullOrEmpty(navigation.RouteDataName) && routeValueDictionary != null) { string[] routeNames = navigation.RouteDataName.Split(','); routeDatas = new RouteValueDictionary(routeValueDictionary.Where(n => routeNames.Contains(n.Key)).ToDictionary(n => n.Key, n => n.Value)); routeDatas.AddOrReplace("spaceKey", spaceKey); } else { routeDatas = new RouteValueDictionary() { { "spaceKey", spaceKey } } }; return(CachedUrlHelper.RouteUrl(navigation.UrlRouteName, routeDatas)); } if (navigation.NavigationUrl != null && !string.IsNullOrEmpty(navigation.NavigationUrl.Trim())) { return(navigation.NavigationUrl); } return(string.Empty); }
/// <summary> /// 获取快捷操作Url /// </summary> /// <param name="applicationManagementOperation">被扩展的applicationManagementOperation</param> /// <param name="routeValueDictionary">路由数据字典</param> /// <returns></returns> public static string GetUrl(this ApplicationManagementOperation applicationManagementOperation, RouteValueDictionary routeValueDictionary = null) { if (applicationManagementOperation.NavigationUrl != null && !string.IsNullOrEmpty(applicationManagementOperation.NavigationUrl.Trim())) { return(applicationManagementOperation.NavigationUrl); } if (!string.IsNullOrEmpty(applicationManagementOperation.RouteDataName) && routeValueDictionary != null) { string[] routeNames = applicationManagementOperation.RouteDataName.Split(','); RouteValueDictionary dic = new RouteValueDictionary(routeValueDictionary.Where(n => routeNames.Contains(n.Key)).ToDictionary(n => n.Key, n => n.Value)); return(CachedUrlHelper.RouteUrl(applicationManagementOperation.UrlRouteName, dic)); } return(CachedUrlHelper.RouteUrl(applicationManagementOperation.UrlRouteName)); }
/// <summary> /// 获取导航Url /// </summary> /// <param name="presentAreaNavigation">被扩展的PresentAreaNavigation</param> /// <param name="spaceKey">空间标识</param> /// <returns></returns> public static string GetUrl(this PresentAreaNavigation presentAreaNavigation, string spaceKey = "") { if (presentAreaNavigation.NavigationUrl != null && !string.IsNullOrEmpty(presentAreaNavigation.NavigationUrl.Trim())) { return(presentAreaNavigation.NavigationUrl); } RouteValueDictionary routeValue = new RouteValueDictionary(); if (!string.IsNullOrEmpty(spaceKey)) { routeValue.Add("spaceKey", spaceKey); } return(CachedUrlHelper.RouteUrl(presentAreaNavigation.UrlRouteName, routeValue)); }
/// <summary> /// 获取导航Url /// </summary> /// <param name="navigation">被扩展的navigation</param> /// <param name="routeValueDictionary">路由数据集合</param> /// <returns></returns> public static string GetUrl(this Navigation navigation, RouteValueDictionary routeValueDictionary = null) { if (!string.IsNullOrEmpty(navigation.UrlRouteName)) { if (!string.IsNullOrEmpty(navigation.RouteDataName) && routeValueDictionary != null) { string[] routeNames = navigation.RouteDataName.Split(','); return(CachedUrlHelper.RouteUrl(navigation.UrlRouteName, new RouteValueDictionary(routeValueDictionary.Where(n => routeNames.Contains(n.Key)).ToDictionary(n => n.Key, n => n.Value)))); } return(CachedUrlHelper.RouteUrl(navigation.UrlRouteName)); } if (navigation.NavigationUrl != null && !string.IsNullOrEmpty(navigation.NavigationUrl.Trim())) { return(navigation.NavigationUrl); } return(string.Empty); }