Esempio n. 1
0
 /// <summary>
 /// 获取配置值
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="values"></param>
 /// <param name="key"></param>
 /// <param name="t"></param>
 /// <returns></returns>
 public static T GetValue <T>(List <KeyValueEntity> values, string key, T t)
 {
     //取出排序编号
     if (values.Exists(r => r.Key == key))
     {
         KeyValueEntity id_Entity = values.Find(r => r.Key == key);
         t = (T)Convert.ChangeType(id_Entity.Value, typeof(T));
     }
     return(t);
 }
Esempio n. 2
0
        /// <summary>
        /// 将字典转换成列表
        /// </summary>
        /// <param name="Dicts"></param>
        /// <returns></returns>
        public static List <KeyValueEntity> ToList(Dictionary <String, object> Dicts)
        {
            List <KeyValueEntity> list = new List <KeyValueEntity>();

            foreach (var dict in Dicts)
            {
                KeyValueEntity kv = new KeyValueEntity();
                kv.Key   = dict.Key;
                kv.Value = dict.Value;
                list.Add(kv);
            }
            return(list);
        }
        /// <summary>
        /// 分组绑定事件
        /// </summary>
        protected void RepeaterGroup_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Repeater       RepeaterOptions = e.Item.FindControl("RepeaterOptions") as Repeater;
                KeyValueEntity GroupItem       = e.Item.DataItem as KeyValueEntity;
                int            OptionCount     = 0;
                BindOptionsToPage(RepeaterOptions, GroupItem.Key, out OptionCount);

                if (OptionCount == 0)
                {
                    e.Item.Visible = false;
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 读取数据项参数
        /// </summary>
        /// <param name="DataItem">数据项</param>
        /// <param name="Name">参数名</param>
        /// <param name="DefaultValue">默认值</param>
        /// <returns></returns>
        public object ViewItemSetting(DNNGo_LayerGallery_Content DataItem, String Name, object DefaultValue)
        {
            object o = DefaultValue;

            if (DataItem != null && DataItem.ID > 0 && !String.IsNullOrEmpty(DataItem.Options))
            {
                try
                {
                    List <KeyValueEntity> ItemSettings = ConvertTo.Deserialize <List <KeyValueEntity> >(DataItem.Options);
                    KeyValueEntity        KeyValue     = ItemSettings.Find(r1 => r1.Key.ToLower() == Name.ToLower());
                    if (KeyValue != null && !String.IsNullOrEmpty(KeyValue.Key))
                    {
                        o = KeyValue.Value;
                    }
                }
                catch
                {
                }
            }
            return(o);
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        private void BindDataToPage()
        {
            EffectDBEntity XmlDB = Setting_EffectDB;

            if (!(XmlDB != null && String.IsNullOrEmpty(XmlDB.Name)))
            {
                lblEffectName.Text        = XmlDB.Name;
                lblEffectDescription.Text = XmlDB.Description;

                //绑定效果的主题
                String        EffectDirPath = String.Format("{0}Effects/{1}/Themes/", Server.MapPath(ModulePath), XmlDB.Name);
                DirectoryInfo EffectDir     = new DirectoryInfo(EffectDirPath);
                if (!EffectDir.Exists)
                {
                    EffectDir.Create();
                }
                DirectoryInfo[]       ThemeDirs = EffectDir.GetDirectories();
                List <KeyValueEntity> dirs      = new List <KeyValueEntity>();
                if (ThemeDirs != null && ThemeDirs.Length > 0)
                {
                    foreach (DirectoryInfo dir in ThemeDirs)
                    {
                        KeyValueEntity dirEntity = new KeyValueEntity();
                        dirEntity.Key = dir.Name;

                        FileInfo imgFile = new FileInfo(MapPath(String.Format("{0}Effects/{1}/Themes/{2}/image.jpg", ModulePath, XmlDB.Name, dir.Name)));
                        if (imgFile.Exists)
                        {
                            dirEntity.Value = String.Format("{0}Effects/{1}/Themes/{2}/image.jpg", ModulePath, XmlDB.Name, dir.Name);
                        }
                        else
                        {
                            dirEntity.Value = String.Format("http://www.dnngo.net/DesktopModules/DNNGo_LayerGallery/Effects/{0}/Themes/{1}/image.jpg", XmlDB.Name, dir.Name);
                        }


                        dirs.Add(dirEntity);
                    }
                    WebHelper.BindList <KeyValueEntity>(ddlThemeName, dirs, "Key", "Value");
                }
                WebHelper.SelectedListByText(ddlThemeName, Settings_EffectThemeName);


                // hfThemeThumbnails.Value = String.Format("{0}Effects/{1}/Themes/[EffectThemeName]/image.jpg", ModulePath, XmlDB.Name);
                if (!String.IsNullOrEmpty(Settings_EffectThemeName))
                {
                    imgThemeThumbnails.Attributes.Add("onError", String.Format("this.src='{0}Resource/images/no_image.png'", ModulePath));
                    imgThemeThumbnails.ToolTip = Settings_EffectThemeName;
                    KeyValueEntity dirEntity = dirs.Find(r1 => r1.Key.IndexOf(Settings_EffectThemeName, StringComparison.CurrentCultureIgnoreCase) >= 0);
                    imgThemeThumbnails.ImageUrl = dirEntity != null?dirEntity.Value.ToString() : "";

                    imgThemeThumbnails.Visible = true;
                }
            }


            ////获取效果参数
            //List<SettingEntity> EffectSettingDB = Setting_SkinEffectSettingDB;

            //if (EffectSettingDB != null && EffectSettingDB.Count > 0)
            //{
            //    //绑定参数项
            //    RepeaterTheme.DataSource = EffectSettingDB;
            //    RepeaterTheme.DataBind();
            //}
        }