public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } _tableStyleId = Body.GetQueryInt("TableStyleID"); _relatedIdentities = TranslateUtils.StringCollectionToIntList(Body.GetQueryString("RelatedIdentities")); if (_relatedIdentities.Count == 0) { _relatedIdentities.Add(0); } _tableName = Body.GetQueryString("TableName"); _attributeName = Body.GetQueryString("AttributeName"); _tableStyle = ETableStyleUtils.GetEnumType(Body.GetQueryString("TableStyle")); _redirectUrl = StringUtils.ValueFromUrl(Body.GetQueryString("RedirectUrl")); _styleInfo = _tableStyleId != 0 ? BaiRongDataProvider.TableStyleDao.GetTableStyleInfo(_tableStyleId) : TableStyleManager.GetTableStyleInfo(_tableStyle, _tableName, _attributeName, _relatedIdentities); if (!IsPostBack) { RblIsVisible.Items[0].Value = true.ToString(); RblIsVisible.Items[1].Value = false.ToString(); RblIsSingleLine.Items[0].Value = true.ToString(); RblIsSingleLine.Items[1].Value = false.ToString(); RblIsFormatString.Items[0].Value = true.ToString(); RblIsFormatString.Items[1].Value = false.ToString(); DdlIsHorizontal.Items[0].Value = true.ToString(); DdlIsHorizontal.Items[1].Value = false.ToString(); EInputTypeUtils.AddListItems(DdlInputType); var arraylist = DataProvider.RelatedFieldDao.GetRelatedFieldInfoArrayList(PublishmentSystemId); foreach (RelatedFieldInfo rfInfo in arraylist) { var listItem = new ListItem(rfInfo.RelatedFieldName, rfInfo.RelatedFieldID.ToString()); DdlRelatedFieldId.Items.Add(listItem); } ERelatedFieldStyleUtils.AddListItems(DdlRelatedFieldStyle); if (_styleInfo.TableStyleId != 0 || _attributeName == "IsHot" || _attributeName == "IsRecommend" || _attributeName == "IsColor" || _attributeName == "IsTop") { DdlItemType.SelectedValue = false.ToString(); } else { DdlItemType.SelectedValue = true.ToString(); } TbAttributeName.Text = _styleInfo.AttributeName; TbDisplayName.Text = _styleInfo.DisplayName; TbHelpText.Text = _styleInfo.HelpText; ControlUtils.SelectListItems(DdlInputType, _styleInfo.InputType); ControlUtils.SelectListItems(RblIsVisible, _styleInfo.IsVisible.ToString()); ControlUtils.SelectListItems(RblIsSingleLine, _styleInfo.IsSingleLine.ToString()); ControlUtils.SelectListItems(RblIsFormatString, _styleInfo.Additional.IsFormatString.ToString()); TbDefaultValue.Text = _styleInfo.DefaultValue; DdlIsHorizontal.SelectedValue = _styleInfo.IsHorizontal.ToString(); TbColumns.Text = _styleInfo.Additional.Columns.ToString(); ControlUtils.SelectListItems(DdlRelatedFieldId, _styleInfo.Additional.RelatedFieldId.ToString()); ControlUtils.SelectListItems(DdlRelatedFieldStyle, _styleInfo.Additional.RelatedFieldStyle); TbHeight.Text = _styleInfo.Additional.Height.ToString(); TbWidth.Text = _styleInfo.Additional.Width; var styleItems = _styleInfo.StyleItems ?? BaiRongDataProvider.TableStyleDao.GetStyleItemInfoList(_styleInfo.TableStyleId); TbItemCount.Text = styleItems.Count.ToString(); RptItems.DataSource = TableStyleManager.GetStyleItemDataSet(styleItems.Count, styleItems); RptItems.ItemDataBound += MyRepeater_ItemDataBound; RptItems.DataBind(); if (RptItems.Items.Count > 0) { DdlItemType.SelectedValue = false.ToString(); } } ReFresh(null, EventArgs.Empty); }
private static string ParseSelectCascading(IAttributes attributes, SiteInfo siteInfo, TableStyleInfo styleInfo, StringBuilder extraBuilder) { var attributeName = styleInfo.AttributeName; var fieldInfo = DataProvider.RelatedFieldDao.GetRelatedFieldInfo(styleInfo.Additional.RelatedFieldId); if (fieldInfo == null) { return(string.Empty); } var list = DataProvider.RelatedFieldItemDao.GetRelatedFieldItemInfoList(styleInfo.Additional.RelatedFieldId, 0); var prefixes = TranslateUtils.StringCollectionToStringCollection(fieldInfo.Prefixes); var suffixes = TranslateUtils.StringCollectionToStringCollection(fieldInfo.Suffixes); var style = ERelatedFieldStyleUtils.GetEnumType(styleInfo.Additional.RelatedFieldStyle); var builder = new StringBuilder(); builder.Append($@" <span id=""c_{attributeName}_1""> {prefixes[0]} <select name=""{attributeName}"" id=""{attributeName}_1"" class=""select"" onchange=""getRelatedField_{fieldInfo.Id}(2);""> <option value="""">请选择</option>"); var values = attributes.GetString(attributeName); var value = string.Empty; if (!string.IsNullOrEmpty(values)) { value = values.Split(',')[0]; } var isLoad = false; foreach (var itemInfo in list) { var selected = !string.IsNullOrEmpty(itemInfo.ItemValue) && value == itemInfo.ItemValue ? @" selected=""selected""" : string.Empty; if (!string.IsNullOrEmpty(selected)) { isLoad = true; } builder.Append($@" <option value=""{itemInfo.ItemValue}"" itemID=""{itemInfo.Id}""{selected}>{itemInfo.ItemName}</option>" ); } builder.Append($@" </select>{suffixes[0]}</span>"); if (fieldInfo.TotalLevel > 1) { for (var i = 2; i <= fieldInfo.TotalLevel; i++) { builder.Append($@"<span id=""c_{attributeName}_{i}"" style=""display:none"">"); builder.Append(style == ERelatedFieldStyle.Virtical ? @"<br />" : " "); builder.Append($@" {prefixes[i - 1]} <select name=""{attributeName}"" id=""{attributeName}_{i}"" class=""select"" onchange=""getRelatedField_{fieldInfo.Id}({i} + 1);""></select> {suffixes[i - 1]} </span> "); } } extraBuilder.Append($@" <script> function getRelatedField_{fieldInfo.Id}(level){{ var attributeName = '{styleInfo.AttributeName}'; var totalLevel = {fieldInfo.TotalLevel}; for(i=level;i<=totalLevel;i++){{ $('#c_' + attributeName + '_' + i).hide(); }} var obj = $('#c_' + attributeName + '_' + (level - 1)); var itemID = $('option:selected', obj).attr('itemID'); if (itemID){{ var url = '{ApiRouteActionsRelatedField.GetUrl(ApiManager.InnerApiUrl, siteInfo.Id, styleInfo.Additional.RelatedFieldId, 0)}' + itemID; var values = '{values}'; var value = (values) ? values.split(',')[level - 1] : ''; $.post(url + '&callback=?', '', function(data, textStatus){{ var $sel = $('#' + attributeName + '_' + level); $('option', $sel).each(function(){{ $(this).remove(); }}) $sel.append('<option value="""">请选择</option>'); var show = false; var isLoad = false; $.each(data, function(i, item){{ show = true; var selected = ''; if (value == item.value){{ isLoad = true; selected = ' selected=""selected""' }} $opt = $('<option value=""' + item.value + '"" itemID=""' + item.id + '""' + selected + '>' + item.name + '</option>'); $opt.appendTo($sel); }}); if (show) $('#c_' + attributeName + '_' + level).show(); if (isLoad && level <= totalLevel){{ getRelatedField_{fieldInfo.Id}(level + 1); }} }}, 'jsonp'); }} }} "); if (isLoad) { extraBuilder.Append($@" $(document).ready(function(){{ getRelatedField_{fieldInfo.Id}(2); }}); "); } extraBuilder.Append("</script>"); return(builder.ToString()); }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } _tableStyleId = AuthRequest.GetQueryInt("TableStyleID"); _relatedIdentities = TranslateUtils.StringCollectionToIntList(AuthRequest.GetQueryString("RelatedIdentities")); if (_relatedIdentities.Count == 0) { _relatedIdentities.Add(0); } _tableName = AuthRequest.GetQueryString("TableName"); _attributeName = AuthRequest.GetQueryString("AttributeName"); _redirectUrl = StringUtils.ValueFromUrl(AuthRequest.GetQueryString("RedirectUrl")); _styleInfo = _tableStyleId != 0 ? DataProvider.TableStyleDao.GetTableStyleInfo(_tableStyleId) : TableStyleManager.GetTableStyleInfo(_tableName, _attributeName, _relatedIdentities); if (IsPostBack) { return; } InputTypeUtils.AddListItems(DdlInputType); var relatedFieldInfoList = DataProvider.RelatedFieldDao.GetRelatedFieldInfoList(SiteId); foreach (var rfInfo in relatedFieldInfoList) { var listItem = new ListItem(rfInfo.Title, rfInfo.Id.ToString()); DdlRelatedFieldId.Items.Add(listItem); } ERelatedFieldStyleUtils.AddListItems(DdlRelatedFieldStyle); ControlUtils.SelectSingleItem(DdlIsRapid, _styleInfo.Id != 0 ? false.ToString() : true.ToString()); TbAttributeName.Text = _styleInfo.AttributeName; TbDisplayName.Text = _styleInfo.DisplayName; TbHelpText.Text = _styleInfo.HelpText; ControlUtils.SelectSingleItem(DdlInputType, _styleInfo.InputType.Value); TbTaxis.Text = _styleInfo.Taxis.ToString(); ControlUtils.SelectSingleItem(DdlIsFormatString, _styleInfo.Additional.IsFormatString.ToString()); TbDefaultValue.Text = _styleInfo.DefaultValue; DdlIsHorizontal.SelectedValue = _styleInfo.IsHorizontal.ToString(); TbColumns.Text = _styleInfo.Additional.Columns.ToString(); ControlUtils.SelectSingleItem(DdlRelatedFieldId, _styleInfo.Additional.RelatedFieldId.ToString()); ControlUtils.SelectSingleItem(DdlRelatedFieldStyle, _styleInfo.Additional.RelatedFieldStyle); TbHeight.Text = _styleInfo.Additional.Height == 0 ? string.Empty : _styleInfo.Additional.Height.ToString(); TbWidth.Text = _styleInfo.Additional.Width; var styleItems = _styleInfo.StyleItems ?? DataProvider.TableStyleItemDao.GetStyleItemInfoList(_styleInfo.Id); TbItemCount.Text = styleItems.Count.ToString(); RptItems.DataSource = GetDataSource(styleItems.Count, styleItems); RptItems.ItemDataBound += RptItems_ItemDataBound; RptItems.DataBind(); var isSelected = false; var isNotEquals = false; var list = new List <string>(); foreach (var item in styleItems) { list.Add(item.ItemValue); if (item.IsSelected) { isSelected = true; } if (item.ItemValue != item.ItemTitle) { isNotEquals = true; } } DdlIsRapid.SelectedValue = (!isSelected && !isNotEquals).ToString(); TbRapidValues.Text = string.Join(",", list); TbCustomizeLeft.Text = _styleInfo.Additional.CustomizeLeft; TbCustomizeRight.Text = _styleInfo.Additional.CustomizeRight; ReFresh(null, EventArgs.Empty); }