/// <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));
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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));
        }
Ejemplo n.º 5
0
 /// <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);
 }