private static string ParseRadio(FieldInfo fieldInfo, FieldSettings settings) { var builder = new StringBuilder(); var items = fieldInfo.Items ?? new List <FieldItemInfo>(); var radioButtonList = new RadioButtonList { RepeatLayout = RepeatLayout.UnorderedList, ID = fieldInfo.AttributeName, }; radioButtonList.Attributes.Add("style", "list-style: none;"); var selectedValue = !string.IsNullOrEmpty(fieldInfo.AttributeValue) ? fieldInfo.AttributeValue : string.Empty; //验证属性 ValidateTypeUtils.GetValidateAttributesForListItem(radioButtonList, settings.IsValidate, fieldInfo.DisplayName, settings.IsRequired, settings.MinNum, settings.MaxNum, settings.ValidateType, settings.ErrorMessage); foreach (var item in items) { bool isSelected = item.Value == selectedValue; var listItem = new ListItem(item.Value, item.Value) { Selected = isSelected }; radioButtonList.Items.Add(listItem); } radioButtonList.Attributes.Add("isListItem", "true"); builder.Append(Utils.GetControlRenderHtml(radioButtonList)); return(builder.ToString()); }
private static string ParseCheckBox(FieldInfo fieldInfo, FieldSettings settings) { var builder = new StringBuilder(); var items = fieldInfo.Items ?? new List <FieldItemInfo>(); var checkBoxList = new CheckBoxList { RepeatLayout = RepeatLayout.UnorderedList, ID = fieldInfo.AttributeName }; checkBoxList.Attributes.Add("style", "list-style: none;"); var selectedValues = !string.IsNullOrEmpty(fieldInfo.AttributeValue) ? fieldInfo.AttributeValue : string.Empty; var selectedValueArray = selectedValues.Split(','); //验证属性 ValidateTypeUtils.GetValidateAttributesForListItem(checkBoxList, settings.IsValidate, fieldInfo.DisplayName, settings.IsRequired, settings.MinNum, settings.MaxNum, settings.ValidateType, settings.ErrorMessage); foreach (var item in items) { var isSelected = selectedValueArray.Contains(item.Value); var listItem = new ListItem(item.Value, item.Value) { Selected = isSelected }; checkBoxList.Items.Add(listItem); } checkBoxList.Attributes.Add("isListItem", "true"); builder.Append(Utils.GetControlRenderHtml(checkBoxList)); var i = 0; foreach (var item in items) { builder.Replace($@"name=""{fieldInfo.AttributeName}${i}""", $@"name=""{fieldInfo.AttributeName}"" value=""{item.Value}"""); i++; } return(builder.ToString()); }
private static string ParseSelectOne(FieldInfo fieldInfo, FieldSettings settings) { var builder = new StringBuilder(); var items = fieldInfo.Items ?? new List <FieldItemInfo>(); var selectedValue = !string.IsNullOrEmpty(fieldInfo.AttributeValue) ? fieldInfo.AttributeValue : string.Empty; //验证属性 var validateAttributes = ValidateTypeUtils.GetValidateAttributes(settings.IsValidate, fieldInfo.DisplayName, settings.IsRequired, settings.MinNum, settings.MaxNum, settings.ValidateType, settings.ErrorMessage); builder.Append(string.Format(@"<select id=""{0}"" name=""{0}"" class=""form-control"" isListItem=""true"" {1}>", fieldInfo.AttributeName, validateAttributes)); foreach (var item in items) { var isSelected = item.Value == selectedValue ? "selected" : string.Empty; builder.Append($@"<option value=""{item.Value}"" {isSelected}>{item.Value}</option>"); } builder.Append("</select>"); return(builder.ToString()); }
public static string ParseTextArea(FieldInfo fieldInfo, FieldSettings settings) { var validateAttributes = ValidateTypeUtils.GetValidateAttributes(settings.IsValidate, fieldInfo.DisplayName, settings.IsRequired, settings.MinNum, settings.MaxNum, settings.ValidateType, settings.ErrorMessage); return($@"<textarea id=""{fieldInfo.AttributeName}"" name=""{fieldInfo.AttributeName}"" class=""form-control"" {validateAttributes}>{HttpUtility.HtmlDecode(fieldInfo.AttributeValue)}</textarea>"); }