/// <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); }
/// <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; } } }
/// <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(); //} }