using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CB.Entity; using CB.Data; using CB.Framework; using CB.Common; using System.Reflection; using CB.TrendTool; namespace CB.Admin.Plugins.TrendTool { public partial class TrendToolListEdit : AdminPage { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadData(); } } private void LoadData() { List list = new List(); BindList(ref list); foreach (ToolFunctionAttr item in list) { string type = "【特殊过滤】"; if (((int)item.FilterNorm).ToString() == "1") { type = "【通用过滤】"; } ListItem li = new ListItem(type + item.Name, ((int)item.FilterType).ToString()); ddlFilterFunEnum.Items.Add(li); } int ConfigID = WRequest.GetInt("ConfigID", 0); TrendToolConfigInfo info = new TrendToolConfigInfo(); info = TrendToolConfigService.Get(ConfigID); if (info.ConfigID > 0) { txtConfigID.Value = info.ConfigID.ToString(); txtPageID.Text = info.PageID.ToString(); txtFilterNumber.Text = info.FilterNumber.ToString(); txtFilterHeader.Text = info.FilterHeader; txtFilterRemark.Text = info.FilterRemark; txtFilterTypeName.Text = info.FilterTypeName; txtFilterOrder.Text = info.FilterOrder.ToString(); string FunEnum = Convert.ToInt32(info.FilterFunEnum).ToString(); ListItem liEnum = ddlFilterFunEnum.Items.FindByValue(FunEnum); if (liEnum != null) { ddlFilterFunEnum.ClearSelection(); liEnum.Selected = true; } string PageGroup = info.PageGroup.ToString(); ListItem liGroup = ddlPageGroup.Items.FindByValue(PageGroup); if (liGroup != null) { ddlPageGroup.ClearSelection(); liGroup.Selected = true; } string IsNorm = info.IsNorm.ToString().ToLower(); ListItem liNorm = ddlIsNorm.Items.FindByValue(PageGroup); if (liNorm != null) { ddlIsNorm.ClearSelection(); liNorm.Selected = true; } string IsBase = info.IsBaseData.ToString().ToLower(); ListItem liBase = ddlIsBaseData.Items.FindByValue(IsBase); if (liBase != null) { ddlIsBaseData.ClearSelection(); liBase.Selected = true; } string IsInclude = info.IncludeHtml; ListItem liInclude = ddlIncludeHtml.Items.FindByValue(IsInclude); if (liInclude != null) { ddlIncludeHtml.ClearSelection(); liInclude.Selected = true; } string filterStatus = info.FilterStatus.ToString().ToLower(); ListItem liStatus = ddlFilterStatus.Items.FindByValue(filterStatus); if (liStatus != null) { ddlFilterStatus.ClearSelection(); liStatus.Selected = true; } string filterSave = info.FilterIsSave.ToString().ToLower(); ListItem liSave = ddlFilterIsSave.Items.FindByValue(filterSave); if (liSave != null) { ddlFilterIsSave.ClearSelection(); liSave.Selected = true; } } } protected void btnUpdate_Click(object sender, EventArgs e) { TrendToolConfigInfo info = PageDataToEntity(); if (TrendToolConfigService.Save(info)) { ShowMessageBox("保存成功"); } else { ShowMessageBox("保存失败!"); } } //绑定方法列表方法 private void BindList(ref List lists) { MethodInfo[] methodList = typeof(T).GetMethods(); if (null != methodList && 0 < methodList.Length) { foreach (MethodInfo item in methodList) { ToolFunctionAttr[] Description = item.GetCustomAttributes(typeof(ToolFunctionAttr), false) as ToolFunctionAttr[]; if (null != Description && 1 <= Description.Length) lists.Add(new ToolFunctionAttr(Description[0].Name, Description[0].FilterType, Description[0].FilterNorm)); } } } private TrendToolConfigInfo PageDataToEntity() { TrendToolConfigInfo info = new TrendToolConfigInfo(); info.ConfigID = TypeConverter.StrToInt(txtConfigID.Value.Trim()); info.PageID = TypeConverter.StrToInt(txtPageID.Text.Trim()); info.FilterNumber = TypeConverter.StrToInt(txtFilterNumber.Text.Trim()); info.FilterHeader = txtFilterHeader.Text; info.FilterRemark = txtFilterRemark.Text; info.FilterTypeName = txtFilterTypeName.Text; info.FilterFunEnum = TypeConverter.StringToEnum(ddlFilterFunEnum.SelectedValue); info.PageGroup = TypeConverter.StrToInt(ddlPageGroup.SelectedValue, 0); info.IsBaseData = TypeConverter.StrToBool(ddlIsBaseData.SelectedValue, false); info.IncludeHtml = string.IsNullOrEmpty(ddlIncludeHtml.SelectedValue) ? ddlIncludeHtml.SelectedValue : "tr"; info.FilterStatus = TypeConverter.StrToBool(ddlFilterStatus.SelectedValue, true); info.FilterIsSave = TypeConverter.StrToBool(ddlFilterIsSave.SelectedValue, false); info.FilterOrder = TypeConverter.StrToInt(txtFilterOrder.Text, 0); info.IsNorm = TypeConverter.StringToEnum(ddlIsNorm.SelectedValue); return info; } } }