示例#1
0
        private static void AddOptionTree(List <IXForum> list, Int32 parentid, bool cateUnselectable, StringBuilder sb)
        {
            //DataRow[] array = list.Select("parentid=" + parentid);
            //DataRow[] array2 = array;
            //for (int i = 0; i < array2.Length; i++)
            foreach (var forum in list)
            {
                if (forum.ParentID != parentid)
                {
                    continue;
                }

                //DataRow dataRow = array2[i];
                if (cateUnselectable && forum.Layer == 0)
                {
                    sb.AppendFormat("<optgroup label=\"--{0}\">", forum.Name.Trim());
                    sb.Append(Utils.GetSpacesString(forum.Layer));
                    sb.Append(forum.Name.Trim());
                }
                else
                {
                    sb.AppendFormat("<option value=\"{0}\">", forum.ID);
                    sb.Append(Utils.GetSpacesString(forum.Layer));
                    sb.Append(forum.Name.Trim());
                    sb.Append("</option>");
                }
                Caches.AddOptionTree(list, forum.ID, cateUnselectable, sb);
                if (cateUnselectable && forum.Layer == 0)
                {
                    sb.Append("</optgroup>");
                }
            }
        }
示例#2
0
        //private static Regex r = new Regex("\\{(\\d+)\\}", Utils.GetRegexCompiledOptions());

        public static string GetForumListBoxOptionsCache(bool cateUnselectable)
        {
            var    cacheService = XCache.Current;
            string text         = cacheService.RetrieveObject(CacheKeys.FORUM_UI_FORUM_LIST_BOX_OPTIONS) as string;

            if (text.IsNullOrEmpty())
            {
                StringBuilder stringBuilder = new StringBuilder();
                //Caches.AddOptionTree(BBX.Data.Forums.GetVisibleForumList(), "0", cateUnselectable, stringBuilder);
                Caches.AddOptionTree(XForum.GetVisibleForumList(), 0, cateUnselectable, stringBuilder);
                text = stringBuilder.ToString();
                XCache.Add(CacheKeys.FORUM_UI_FORUM_LIST_BOX_OPTIONS, text);
            }
            return(text);
        }