/// <summary> /// 转换选项集合 /// </summary> /// <param name="Options"></param> /// <returns></returns> public String ConvertOptions(String Options, List <SettingEntity> ItemSettings) { String String_Options = String.Empty; if (!String.IsNullOrEmpty(Options)) { //读取当前相关的 List <KeyValueEntity> ItemOptions = ConvertTo.Deserialize <List <KeyValueEntity> >(Options); Dictionary <String, Object> Dicts = new Dictionary <String, Object>(); foreach (var ItemSetting in ItemSettings) { if (ItemOptions.Exists(r => r.Key == ItemSetting.Name)) { KeyValueEntity ItemOption = ItemOptions.Find(r => r.Key == ItemSetting.Name); if (ItemSetting.ControlType == EnumControlType.Urls.ToString()) { ItemOption.Value = ViewLinkUrl(ItemOption.Value.ToString()); } Dicts.Add(ItemOption.Key, ItemOption.Value); } } JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); String_Options = jsSerializer.Serialize(Dicts); } return(String_Options); }
/// <summary> /// 向页面注册提示信息 /// </summary> public String Post(Page p) { if (HttpContext.Current.Session[SessionName()] != null) { String s = Convert.ToString(HttpContext.Current.Session[SessionName()]); if (!String.IsNullOrEmpty(s)) { MessageTips mt = ConvertTo.Deserialize <MessageTips>(s); if (mt != null && (mt.IsPostBack || !p.IsPostBack)) { HttpContext.Current.Session.Remove(SessionName()); this._Content = mt.Content; this._MsgType = mt.MsgType; this._GoUrl = mt.GoUrl; } } } if (!String.IsNullOrEmpty(_Content)) { //System.Text.StringBuilder sb = new System.Text.StringBuilder(); //sb.Append("<script type=\"text/javascript\">"); //sb.AppendFormat("asyncbox.tips('{0}','{1}');", _Content, EnumHelper.GetEnumTextVal((Int32)_MsgType, typeof(EnumTips))); //sb.Append("</script>"); //Pmb.Page.RegisterStartupScript("asyncbox.tips", sb.ToString()); } return(_Content); }
/// <summary> /// 显示扩展信息列表 /// </summary> /// <param name="DataItem"></param> /// <returns></returns> public List <KeyValueEntity> ViewExtensionList(DNNGo_DNNGalleryProGame_Slider DataItem) { List <KeyValueEntity> ExtensionSettings = new List <KeyValueEntity>(); if (DataItem != null && DataItem.ID > 0 && !String.IsNullOrEmpty(DataItem.Extension)) { //取出扩展项 ExtensionSettings = ConvertTo.Deserialize <List <KeyValueEntity> >(DataItem.Extension); } return(ExtensionSettings); }
public String PostHtml(Page p) { if (HttpContext.Current.Session[SessionName()] != null) { String s = Convert.ToString(HttpContext.Current.Session[SessionName()]); if (!String.IsNullOrEmpty(s)) { MessageTips mt = ConvertTo.Deserialize <MessageTips>(s); if (mt != null && (mt.IsPostBack || !p.IsPostBack)) { HttpContext.Current.Session.Remove(SessionName()); this._Content = mt.Content; this._MsgType = mt.MsgType; this._GoUrl = mt.GoUrl; } } } if (!String.IsNullOrEmpty(_Content)) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (MsgType == EnumTips.Alert) { sb.Append("<div class=\"alert alert-info\">").AppendLine(); sb.Append("<button data-dismiss=\"alert\" class=\"close\">×</button>").AppendLine(); sb.AppendFormat("<i class=\"fa fa-info-circle\"></i> {0}", _Content).AppendLine(); sb.Append("</div>").AppendLine(); } else if (MsgType == EnumTips.Error) { sb.Append("<div class=\"alert alert-danger\">").AppendLine(); sb.Append("<button data-dismiss=\"alert\" class=\"close\">×</button>").AppendLine(); sb.AppendFormat("<i class=\"fa fa-times-circle\"></i> {0}", _Content).AppendLine(); sb.Append("</div>").AppendLine(); } else if (MsgType == EnumTips.Warning) { sb.Append("<div class=\"alert alert-warning\">").AppendLine(); sb.Append("<button data-dismiss=\"alert\" class=\"close\">×</button>").AppendLine(); sb.AppendFormat("<i class=\"fa fa-exclamation-triangle\"></i> {0}", _Content).AppendLine(); sb.Append("</div>").AppendLine(); } else if (MsgType == EnumTips.Success) { sb.Append("<div class=\"alert alert-success\">").AppendLine(); sb.Append("<button data-dismiss=\"alert\" class=\"close\">×</button>").AppendLine(); sb.AppendFormat("<i class=\"fa fa-check-circle\"></i> {0}", _Content).AppendLine(); sb.Append("</div>").AppendLine(); } return(sb.ToString()); } return(_Content); }
/// <summary> /// 读取数据项参数 /// </summary> /// <param name="DataItem">数据项</param> /// <param name="Name">参数名</param> /// <param name="DefaultValue">默认值</param> /// <returns></returns> public static object ViewCategorySettingByStatic(DNNGo_DNNGalleryProGame_Group 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> protected void gvArticleList_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { //还原出数据 DNNGo_DNNGalleryProGame_Slider Article = e.Row.DataItem as DNNGo_DNNGalleryProGame_Slider; if (Article != null && Article.ID > 0) { HyperLink hlEdit = e.Row.FindControl("hlEdit") as HyperLink; HyperLink hlMobileEdit = e.Row.FindControl("hlMobileEdit") as HyperLink; LinkButton btnRemove = e.Row.FindControl("btnRemove") as LinkButton; LinkButton btnMobileRemove = e.Row.FindControl("btnMobileRemove") as LinkButton; //移动分类按钮 LinkButton lbSortUp = e.Row.FindControl("lbSortUp") as LinkButton; LinkButton lbSortDown = e.Row.FindControl("lbSortDown") as LinkButton; LinkButton lbMobileSortUp = e.Row.FindControl("lbMobileSortUp") as LinkButton; LinkButton lbMobileSortDown = e.Row.FindControl("lbMobileSortDown") as LinkButton; lbSortUp.CommandArgument = lbSortDown.CommandArgument = lbMobileSortUp.CommandArgument = lbMobileSortDown.CommandArgument = Article.ID.ToString(); //设置按钮的CommandArgument btnRemove.CommandArgument = btnMobileRemove.CommandArgument = Article.ID.ToString(); //设置删除按钮的提示 if (Article.Status == (Int32)EnumStatus.RecycleBin) { btnRemove.Attributes.Add("onClick", "javascript:return confirm('" + Localization.GetString("DeleteItem") + "');"); btnMobileRemove.Attributes.Add("onClick", "javascript:return confirm('" + Localization.GetString("DeleteItem") + "');"); } else { btnRemove.Attributes.Add("onClick", "javascript:return confirm('" + ViewResourceText("DeleteRecycleItem", "Are you sure to move it to recycle bin?") + "');"); btnMobileRemove.Attributes.Add("onClick", "javascript:return confirm('" + ViewResourceText("DeleteRecycleItem", "Are you sure to move it to recycle bin?") + "');"); } hlEdit.NavigateUrl = hlMobileEdit.NavigateUrl = xUrl("ID", Article.ID.ToString(), "AddNew"); //文章状态 e.Row.Cells[7].Text = EnumHelper.GetEnumTextVal(Article.Status, typeof(EnumStatus)); //格式化2种时间为短日期格式 e.Row.Cells[5].Text = Article.StartTime.ToShortDateString(); e.Row.Cells[6].Text = Article.EndTime.ToShortDateString(); //显示分组 if (Setting_EffectDB.Groups) { e.Row.Cells[4].Text = DNNGo_DNNGalleryProGame_Group.FindGroupsBySliderID(Article.ID); } if (!String.IsNullOrEmpty(Article.Options)) { if (gvArticleList.Columns[1].Visible || gvArticleList.Columns[2].Visible) { List <KeyValueEntity> kvList = new List <KeyValueEntity>(); try { kvList = ConvertTo.Deserialize <List <KeyValueEntity> >(Article.Options); } catch { } if (kvList != null && kvList.Count > 0) { if (kvList.Exists(r => r.Key == "Title")) { KeyValueEntity rowEntity = kvList.Find(r => r.Key == "Title"); if (rowEntity != null && !String.IsNullOrEmpty(rowEntity.Key)) { e.Row.Cells[2].Text = Convert.ToString(rowEntity.Value); } } TemplateFormat tf = new TemplateFormat(this); Image imgPicture = e.Row.FindControl("imgPicture") as Image; if (kvList.Exists(r => r.Key == "Thumbnails")) { KeyValueEntity rowEntity = kvList.Find(r => r.Key == "Thumbnails"); if (rowEntity != null && !String.IsNullOrEmpty(rowEntity.Key)) { imgPicture.ImageUrl = tf.ViewLinkUrl(Convert.ToString(rowEntity.Value)); } } else if (kvList.Exists(r => r.Key == "Picture")) { KeyValueEntity rowEntity = kvList.Find(r => r.Key == "Picture"); if (rowEntity != null && !String.IsNullOrEmpty(rowEntity.Key)) { imgPicture.ImageUrl = tf.ViewLinkUrl(Convert.ToString(rowEntity.Value)); } } else { imgPicture.Visible = false; } } } } } } }
/// <summary> /// 创建文章自定义模型的JSON信息 /// </summary> public void PushCustomModels() { Dictionary <String, Object> jsonCustomModels = new Dictionary <String, Object>(); //读取出该事件的信息 Int32 SliderID = WebHelper.GetIntParam(HttpContext.Current.Request, "SliderID", 0); if (SliderID > 0) { DNNGo_DNNGalleryProGame_Slider EventItem = DNNGo_DNNGalleryProGame_Slider.FindByKeyForEdit(SliderID); if (EventItem != null && EventItem.ID > 0 && !String.IsNullOrEmpty(EventItem.Extension)) { //取出扩展项 List <KeyValueEntity> ExtensionSettings = ConvertTo.Deserialize <List <KeyValueEntity> >(EventItem.Extension); foreach (KeyValueEntity k in ExtensionSettings) { if (!jsonCustomModels.ContainsKey(k.Key)) { Dictionary <String, Object> jsonItem = new Dictionary <String, Object>(); jsonItem.Add("Name", k.Key); jsonItem.Add("Value", k.Value); jsonItem.Add("Index", jsonCustomModels.Count); jsonCustomModels.Add(jsonCustomModels.Count.ToString(), jsonItem); } } } } //提取预设值的自定义模型 String CustomModels = ViewXmlSettingT <String>("CustomModels", ""); if (!String.IsNullOrEmpty(CustomModels)) { //提取共用属性名 List <String> ExtensionKeys = Common.GetList(CustomModels, "\r\n");; foreach (String k in ExtensionKeys) { if (!String.IsNullOrEmpty(k) && !jsonCustomModels.ContainsKey(k)) { Dictionary <String, Object> jsonItem = new Dictionary <String, Object>(); jsonItem.Add("Name", k); jsonItem.Add("Value", ""); jsonItem.Add("Index", jsonCustomModels.Count); jsonCustomModels.Add(jsonCustomModels.Count.ToString(), jsonItem); } } } Dictionary <String, Object> jsonNull = new Dictionary <String, Object>(); jsonNull.Add("Name", ""); jsonNull.Add("Value", ""); jsonNull.Add("Index", jsonCustomModels.Count); jsonCustomModels.Add(jsonCustomModels.Count.ToString(), jsonNull); //转换数据为json JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); Response.Clear(); Response.Write(jsSerializer.Serialize(jsonCustomModels)); Response.End(); }
/// <summary> /// Layer列表的HTML生成 /// </summary> public void PushAjaxSliders() { EffectDBEntity EffectDB = Setting_EffectDB; QueryParam qp = new QueryParam(); qp.OrderType = 0; qp.PageIndex = WebHelper.GetIntParam(Request, "PageIndex", 2); if (qp.PageIndex <= 1) { qp.PageSize = WebHelper.GetIntParam(Request, "FirstScreen", 10); if (qp.PageSize <= 0) { qp.PageSize = WebHelper.GetIntParam(Request, "LoadDisplay", 10); } } else { qp.PageSize = WebHelper.GetIntParam(Request, "LoadDisplay", 10); qp.FirstScreen = WebHelper.GetIntParam(Request, "FirstScreen", 10); } qp.Where.Add(new SearchParam(DNNGo_DNNGalleryProGame_Slider._.ModuleId, Settings_ModuleID, SearchType.Equal)); qp.Where.Add(new SearchParam(DNNGo_DNNGalleryProGame_Slider._.Status, (Int32)EnumStatus.Activated, SearchType.Equal)); Int32 Search_GroupID = WebHelper.GetIntParam(HttpContext.Current.Request, "GroupID", 0); if (Search_GroupID > 0) { qp.Where.Add(new SearchParam(DNNGo_DNNGalleryProGame_Slider._.ID, DNNGo_DNNGalleryProGame_Slider_Group.BuilderArticleIDs(Search_GroupID), SearchType.In)); } int RecordCount = 0; List <DNNGo_DNNGalleryProGame_Slider> SliderList = new List <DNNGo_DNNGalleryProGame_Slider>(); Int32 Sortby = Settings_Sortby; String Orderfld = WebHelper.GetStringParam(Request, "Order", ""); Int32 OrderType = WebHelper.GetIntParam(Request, "OrderBy", -1); if (!String.IsNullOrEmpty(Orderfld)) { if (Orderfld.ToLower() == "title") { Sortby = OrderType == 1 ? (Int32)EnumSortby.Title_Desc : (Int32)EnumSortby.Title; } else if (Orderfld.ToLower() == "starttime") { Sortby = OrderType == 1 ? (Int32)EnumSortby.Time_Desc : (Int32)EnumSortby.Time; } } if (Sortby == (Int32)EnumSortby.Time) { qp.Orderfld = DNNGo_DNNGalleryProGame_Slider._.StartTime; SliderList = DNNGo_DNNGalleryProGame_Slider.FindAll(qp, out RecordCount); } else if (Sortby == (Int32)EnumSortby.Time_Desc) { qp.OrderType = 1; qp.Orderfld = DNNGo_DNNGalleryProGame_Slider._.StartTime; SliderList = DNNGo_DNNGalleryProGame_Slider.FindAll(qp, out RecordCount); } else if (Sortby == (Int32)EnumSortby.Title) { qp.Orderfld = DNNGo_DNNGalleryProGame_Slider._.Title; SliderList = DNNGo_DNNGalleryProGame_Slider.FindAll(qp, out RecordCount); } else if (Sortby == (Int32)EnumSortby.Title_Desc) { qp.OrderType = 1; qp.Orderfld = DNNGo_DNNGalleryProGame_Slider._.Title; SliderList = DNNGo_DNNGalleryProGame_Slider.FindAll(qp, out RecordCount); } else if (Sortby == (Int32)EnumSortby.Random) { qp.Orderfld = " newid() "; SliderList = DNNGo_DNNGalleryProGame_Slider.FindRandomAll(qp, out RecordCount); } else { qp.Orderfld = DNNGo_DNNGalleryProGame_Slider._.Sort; SliderList = DNNGo_DNNGalleryProGame_Slider.FindAll(qp, out RecordCount); } if (qp.Pages < qp.PageIndex) //索引数大于总页面数时不返回记录 { SliderList = new List <DNNGo_DNNGalleryProGame_Slider>(); } Dictionary <String, Object> jsonSliders = new Dictionary <string, Object>(); TemplateFormat xf = new TemplateFormat(); foreach (var SliderItem in SliderList) { int index = SliderList.IndexOf(SliderItem); //index 为索引值 Dictionary <String, Object> jsonSlider = new Dictionary <String, Object>(); jsonSlider.Add("ID", SliderItem.ID); jsonSlider.Add("Sort", SliderItem.Sort); jsonSlider.Add("CreateTime", SliderItem.CreateTime); jsonSlider.Add("StartTime", SliderItem.StartTime); jsonSlider.Add("EndTime", SliderItem.EndTime); jsonSlider.Add("CreateTimeUS", SliderItem.CreateTime.ToString("MM/dd/yyy HH:mm:ss")); jsonSlider.Add("StartTimeUS", SliderItem.StartTime.ToString("MM/dd/yyy HH:mm:ss")); jsonSlider.Add("EndTimeUS", SliderItem.EndTime.ToString("MM/dd/yyy HH:mm:ss")); jsonSlider.Add("Status", SliderItem.Status == 1 ? "checked=\"checked\"" : ""); jsonSlider.Add("Pages", qp.Pages); foreach (var SliderSetting in Setting_SliderSettingDB) { String SliderName = SliderSetting.Name; String SliderValue = xf.ViewSliderSettingT <String>(SliderItem, SliderName, SliderSetting.DefaultValue); if (SliderSetting.ControlType == EnumControlType.Urls.ToString()) { jsonSlider.Add(SliderName, ViewLinkUrl(SliderValue, false)); } else { jsonSlider.Add(SliderName, SliderValue); } } //加载分组 if (EffectDB.Groups) { jsonSlider.Add("Groups", xf.ToGroups(SliderItem)); } //取出Layers数据 if (EffectDB.Layers) { Dictionary <String, Object> jsonLayers = new Dictionary <String, Object>(); List <DNNGo_DNNGalleryProGame_Layer> LayerList = SliderItem.LayerList; if (LayerList != null && LayerList.Count > 0) { foreach (var Layer in LayerList) { int indexLayer = LayerList.IndexOf(Layer); Dictionary <String, Object> jsonLayer = new Dictionary <String, Object>(); foreach (var LayerSetting in Setting_LayerSettingDB) { String LayerName = LayerSetting.Name; String LayerValue = xf.ViewLayerSettingT <String>(Layer, LayerName, LayerSetting.DefaultValue); if (LayerSetting.ControlType == EnumControlType.Urls.ToString()) { jsonLayer.Add(LayerName, ViewLinkUrl(LayerValue, false)); } else { jsonLayer.Add(LayerName, LayerValue); } } jsonLayer.Add("ID", Layer.ID); jsonLayer.Add("Sort", Layer.Sort); jsonLayer.Add("Clicks", Layer.Clicks); jsonLayer.Add("Views", Layer.Views); jsonLayer.Add("Heats", Layer.Heats); jsonLayer.Add("CreateTime", Layer.CreateTime); jsonLayers.Add((10000 - indexLayer).ToString(), jsonLayer); } } jsonSlider.Add("Layers", jsonLayers); } //取出扩展项 Dictionary <String, Object> jsonExtension = new Dictionary <String, Object>(); if (!String.IsNullOrEmpty(SliderItem.Extension)) { List <KeyValueEntity> ExtensionSettings = ConvertTo.Deserialize <List <KeyValueEntity> >(SliderItem.Extension); foreach (KeyValueEntity kv in ExtensionSettings) { if (!jsonExtension.ContainsKey(kv.Key)) { jsonExtension.Add(kv.Key, kv.Value); } } } jsonSlider.Add("Extensions", jsonExtension); jsonSliders.Add(index.ToString(), jsonSlider); } //转换数据为json JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); Response.Clear(); Response.Write(jsSerializer.Serialize(jsonSliders)); Response.End(); }