本文整理汇总了C#中TagBuilder.AddOrMergeCssClass方法的典型用法代码示例。如果您正苦于以下问题:C# TagBuilder.AddOrMergeCssClass方法的具体用法?C# TagBuilder.AddOrMergeCssClass怎么用?C# TagBuilder.AddOrMergeCssClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TagBuilder
的用法示例。
在下文中一共展示了TagBuilder.AddOrMergeCssClass方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderLabel
public static string RenderLabel(HtmlHelper html, BootstrapLabelModel model)
{
if (string.IsNullOrEmpty(model.htmlFieldName)) return null;
string fullHtmlFieldName = html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(model.htmlFieldName);
if (string.IsNullOrEmpty(model.labelText))
model.labelText = model.metadata.DisplayName
?? (model.metadata.PropertyName != null ? model.metadata.PropertyName.SplitByUpperCase() : null)
?? fullHtmlFieldName.Split('.').Last().SplitByUpperCase();
TagBuilder label = new TagBuilder("label");
label.Attributes.Add("for", fullHtmlFieldName.FormatForMvcInputId() + (model.index.HasValue ? "_" + model.index.Value.ToString() : string.Empty));
label.MergeAttributes(model.htmlAttributes.FormatHtmlAttributes());
TagBuilder requiredSpan = new TagBuilder("span");
requiredSpan.AddCssClass("required");
requiredSpan.SetInnerText("*");
if ((model.showRequiredStar.HasValue && !model.showRequiredStar.Value) || (!model.showRequiredStar.HasValue && !model.metadata.IsRequired))
requiredSpan.AddCssStyle("visibility", "hidden");
if(model.innerInputType != BootstrapInputType._NotSet)
{
if(model.innerInputType == BootstrapInputType.CheckBox)
{
label.AddOrMergeCssClass("checkbox");
BootstrapCheckBoxModel inputModel = (BootstrapCheckBoxModel)model.innerInputModel;
inputModel.displayValidationMessage = false;
model.innerInput = MvcHtmlString.Create(inputModel.isSingleInput
? Renderer.RenderCheckBoxCustom(html, inputModel)
: Renderer.RenderCheckBox(html, inputModel));
if(inputModel.htmlAttributes.Keys.Select(x => x.ToLower()).Contains("id"))
label.Attributes["for"] = inputModel.htmlAttributes["id"].ToString();
}
if(model.innerInputType == BootstrapInputType.Radio)
{
label.AddOrMergeCssClass("radio");
BootstrapRadioButtonModel inputModel = (BootstrapRadioButtonModel)model.innerInputModel;
model.innerInput = MvcHtmlString.Create(Renderer.RenderRadioButton(html, inputModel));
if (inputModel.htmlAttributes.Keys.Select(x => x.ToLower()).Contains("id"))
label.Attributes["for"] = inputModel.htmlAttributes["id"].ToString();
}
}
string innerinput = "";
if (model.innerInput != null) innerinput = model.innerInput.ToHtmlString();
label.InnerHtml = innerinput + model.labelText + requiredSpan.ToString() + model.innerValidationMessage;
return label.ToString(TagRenderMode.Normal);
}
示例2: RenderReadOnly
public static string RenderReadOnly(HtmlHelper html, BootstrapReadOnlyModel model, bool isPassword)
{
var combinedHtml = "{0}{1}{2}";
model.htmlAttributes.MergeHtmlAttributes(html.GetUnobtrusiveValidationAttributes(model.htmlFieldName, model.metadata));
if (!string.IsNullOrEmpty(model.id)) model.htmlAttributes.Add("id", model.id);
if (model.tooltipConfiguration != null) model.htmlAttributes.MergeHtmlAttributes(model.tooltipConfiguration.ToDictionary());
if (model.tooltip != null) model.htmlAttributes.MergeHtmlAttributes(model.tooltip.ToDictionary());
// assign placeholder class
if (!string.IsNullOrEmpty(model.placeholder)) model.htmlAttributes.Add("placeholder", model.placeholder);
// build html for input
string input = html.Hidden(model.htmlFieldName, model.value).ToHtmlString();
if (model.value != null && model.value.GetType().IsEnum)
{
input = input + ((Enum)model.value).GetEnumDescription();
}
else
{
input = input + html.Encode(model.value);
}
// account for appendString, prependString, and AppendButtons
if (!string.IsNullOrEmpty(model.prependString) ||
!string.IsNullOrEmpty(model.appendString) ||
model.prependButtons.Any() ||
model.appendButtons.Any() ||
model.iconPrepend != Icons._not_set ||
model.iconAppend != Icons._not_set ||
!string.IsNullOrEmpty(model.iconPrependCustomClass) ||
!string.IsNullOrEmpty(model.iconAppendCustomClass))
{
var appendPrependContainer = new TagBuilder("div");
var addOnPrependString = "";
var addOnAppendString = "";
var addOnPrependButtons = "";
var addOnAppendButtons = "";
var addOnPrependIcon = "";
var addOnAppendIcon = "";
var addOn = new TagBuilder("span");
addOn.AddCssClass("add-on");
if (!string.IsNullOrEmpty(model.prependString))
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
addOn.InnerHtml = model.prependString;
addOnPrependString = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.appendString))
{
appendPrependContainer.AddOrMergeCssClass("input-append");
addOn.InnerHtml = model.appendString;
addOnAppendString = addOn.ToString();
}
if (model.prependButtons.Count > 0)
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
model.prependButtons.ForEach(x => addOnPrependButtons += x.ToHtmlString());
}
if (model.appendButtons.Count > 0)
{
appendPrependContainer.AddOrMergeCssClass("input-append");
model.appendButtons.ForEach(x => addOnAppendButtons += x.ToHtmlString());
}
if (model.iconPrepend != Icons._not_set)
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
addOn.InnerHtml = new BootstrapIcon(model.iconPrepend, model.iconPrependIsWhite).ToHtmlString();
addOnPrependIcon = addOn.ToString();
}
if (model.iconAppend != Icons._not_set)
{
appendPrependContainer.AddOrMergeCssClass("input-append");
addOn.InnerHtml = new BootstrapIcon(model.iconAppend, model.iconAppendIsWhite).ToHtmlString();
addOnAppendIcon = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.iconPrependCustomClass))
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
var i = new TagBuilder("i");
i.AddCssClass(model.iconPrependCustomClass);
addOn.InnerHtml = i.ToString(TagRenderMode.Normal);
addOnPrependIcon = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.iconAppendCustomClass))
{
appendPrependContainer.AddOrMergeCssClass("input-append");
var i = new TagBuilder("i");
i.AddCssClass(model.iconAppendCustomClass);
addOn.InnerHtml = i.ToString(TagRenderMode.Normal);
addOnAppendIcon = addOn.ToString();
}
appendPrependContainer.InnerHtml = addOnPrependButtons + addOnPrependIcon + addOnPrependString + "{0}" + addOnAppendString + addOnAppendIcon + addOnAppendButtons;
combinedHtml = appendPrependContainer.ToString(TagRenderMode.Normal) + "{1}{2}";
}
//.........这里部分代码省略.........
示例3: RenderSmartTable
//.........这里部分代码省略.........
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.showRefresh),
model.toolbar.showRefresh.ToString().ToLower());
if (model.toolbar.showToggle)
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.showToggle),
model.toolbar.showToggle.ToString().ToLower());
if (model.toolbar.search)
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.search),
model.toolbar.search.ToString().ToLower());
if (!string.IsNullOrEmpty(model.toolbar.toolbar))
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.toolbar), model.toolbar.toolbar);
if (model.toolbar.showPaginationSwitch)
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.showPaginationSwitch),
model.toolbar.showPaginationSwitch.ToString().ToLower());
if (model.toolbar.minimumCountColumns != 1)
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.minimumCountColumns),
model.toolbar.minimumCountColumns.ToString());
if (!string.IsNullOrEmpty(model.toolbar.searchAlign))
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.searchAlign),
model.toolbar.searchAlign);
if (!string.IsNullOrEmpty(model.toolbar.buttonsAlign))
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.buttonsAlign),
model.toolbar.buttonsAlign);
if (!string.IsNullOrEmpty(model.toolbar.toolbarAlign))
model.htmlAttributes.AddOrReplace(model.toolbar.HtmlAttr(() => model.toolbar.toolbarAlign),
model.toolbar.toolbarAlign);
}
if (model.paging != null)
{
model.htmlAttributes.AddOrReplace(model.paging.HtmlAttr(() => model.paging.pagination),
model.paging.pagination.ToString().ToLower());
model.htmlAttributes.AddOrReplace(model.paging.HtmlAttr(() => model.paging.sidePagination),
model.paging.sidePagination);
model.htmlAttributes.AddOrReplace(model.paging.HtmlAttr(() => model.paging.pageList),
new JavaScriptSerializer().Serialize(model.paging.pageList));
model.htmlAttributes.AddOrReplace(model.paging.HtmlAttr(() => model.paging.pageSize),
model.paging.pageSize.ToString());
model.htmlAttributes.AddOrReplace(model.paging.HtmlAttr(() => model.paging.pageNumber),
model.paging.pageNumber.ToString());
}
if (model.dataSource != null)
{
if (!string.IsNullOrEmpty(model.dataSource.url))
model.htmlAttributes.AddOrReplace(model.dataSource.HtmlAttr(() => model.dataSource.url), model.dataSource.url);
if (!string.IsNullOrEmpty(model.dataSource.contentType))
model.htmlAttributes.AddOrReplace(model.dataSource.HtmlAttr(() => model.dataSource.contentType),
model.dataSource.contentType);
if (!string.IsNullOrEmpty(model.dataSource.dataType))
model.htmlAttributes.AddOrReplace(model.dataSource.HtmlAttr(() => model.dataSource.dataType),
model.dataSource.dataType);
if (!string.IsNullOrEmpty(model.dataSource.ajaxOptions))
model.htmlAttributes.AddOrReplace(model.dataSource.HtmlAttr(() => model.dataSource.ajaxOptions),
model.dataSource.ajaxOptions);
if (!string.IsNullOrEmpty(model.dataSource.queryParams))
model.htmlAttributes.AddOrReplace(model.dataSource.HtmlAttr(() => model.dataSource.queryParams),
model.dataSource.queryParams);
if (!string.IsNullOrEmpty(model.dataSource.queryParamsType))
model.htmlAttributes.AddOrReplace(model.dataSource.HtmlAttr(() => model.dataSource.queryParamsType),
model.dataSource.queryParamsType);
}
if (model.tableEvents.Any())
{
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.tableEvents),
new JavaScriptSerializer().Serialize(model.tableEvents));
}
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.height), model.height.ToString());
//Create Table
table.AddOrMergeCssClass("table");
if (!string.IsNullOrEmpty(model.tableClass))
table.AddOrMergeCssClass(model.tableClass);
table.MergeAttributes(model.htmlAttributes.FormatHtmlAttributes());
// Table header
if (model.columns.Any())
{
html.Append(TableHeader(model.columns.ToList()));
table.InnerHtml = html.ToString();
}
return new HtmlString(table.ToString());
}
示例4: RenderTextBox
public static string RenderTextBox(HtmlHelper html, BootstrapTextBoxModel model, bool isPassword)
{
if (model == null || string.IsNullOrEmpty(model.htmlFieldName)) return null;
string combinedHtml = "{0}{1}{2}";
if (!string.IsNullOrEmpty(model.id)) model.htmlAttributes.Add("id", model.id);
if (model.tooltipConfiguration != null) model.htmlAttributes.AddRange(model.tooltipConfiguration.ToDictionary());
// assign placeholder class
if (!string.IsNullOrEmpty(model.placeholder)) model.htmlAttributes.Add("placeholder", model.placeholder);
// assign size class
model.htmlAttributes.AddOrMergeCssClass("class", BootstrapHelper.GetClassForInputSize(model.size));
// build html for input
var input = isPassword
? html.Password(model.htmlFieldName, model.value, model.htmlAttributes.FormatHtmlAttributes()).ToHtmlString()
: html.TextBox(model.htmlFieldName, model.value, model.format, model.htmlAttributes.FormatHtmlAttributes()).ToHtmlString();
// account for appendString, prependString, and AppendButtons
if (!string.IsNullOrEmpty(model.prependString) ||
!string.IsNullOrEmpty(model.appendString) ||
model.prependButtons.Any() ||
model.appendButtons.Any() ||
model.iconPrepend != Icons._not_set ||
model.iconAppend != Icons._not_set ||
!string.IsNullOrEmpty(model.iconPrependCustomClass) ||
!string.IsNullOrEmpty(model.iconAppendCustomClass))
{
TagBuilder appendPrependContainer = new TagBuilder("div");
string addOnPrependString = "";
string addOnAppendString = "";
string addOnPrependButtons = "";
string addOnAppendButtons = "";
string addOnPrependIcon = "";
string addOnAppendIcon = "";
TagBuilder addOn = new TagBuilder("span");
addOn.AddCssClass("add-on");
if (!string.IsNullOrEmpty(model.prependString))
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
addOn.InnerHtml = model.prependString;
addOnPrependString = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.appendString))
{
appendPrependContainer.AddOrMergeCssClass("input-append");
addOn.InnerHtml = model.appendString;
addOnAppendString = addOn.ToString();
}
if (model.prependButtons.Count() > 0)
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
model.prependButtons.ForEach(x => addOnPrependButtons += x.ToHtmlString());
}
if (model.appendButtons.Count() > 0)
{
appendPrependContainer.AddOrMergeCssClass("input-append");
model.appendButtons.ForEach(x => addOnAppendButtons += x.ToHtmlString());
}
if (model.iconPrepend != Icons._not_set)
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
addOn.InnerHtml = new BootstrapIcon(model.iconPrepend, model.iconPrependIsWhite).ToHtmlString();
addOnPrependIcon = addOn.ToString();
}
if (model.iconAppend != Icons._not_set)
{
appendPrependContainer.AddOrMergeCssClass("input-append");
addOn.InnerHtml = new BootstrapIcon(model.iconAppend, model.iconAppendIsWhite).ToHtmlString();
addOnAppendIcon = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.iconPrependCustomClass))
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
var i = new TagBuilder("i");
i.AddCssClass(model.iconPrependCustomClass);
addOn.InnerHtml = i.ToString(TagRenderMode.Normal);
addOnPrependIcon = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.iconAppendCustomClass))
{
appendPrependContainer.AddOrMergeCssClass("input-append");
var i = new TagBuilder("i");
i.AddCssClass(model.iconAppendCustomClass);
addOn.InnerHtml = i.ToString(TagRenderMode.Normal);
addOnAppendIcon = addOn.ToString();
}
appendPrependContainer.InnerHtml = addOnPrependButtons + addOnPrependIcon + addOnPrependString + "{0}" + addOnAppendString + addOnAppendIcon + addOnAppendButtons;
combinedHtml = appendPrependContainer.ToString(TagRenderMode.Normal) + "{1}{2}";
}
string helpText = model.helpText != null ? model.helpText.ToHtmlString() : string.Empty;
string validationMessage = "";
if(model.displayValidationMessage)
{
string validation = html.ValidationMessage(model.htmlFieldName).ToHtmlString();
validationMessage = new BootstrapHelpText(validation, model.validationMessageStyle).ToHtmlString();
}
//.........这里部分代码省略.........
示例5: RenderDatePicker
public static HtmlString RenderDatePicker(HtmlHelper html, DatePickerModel model)
{
var combinedHtml = "{0}{1}{2}";
var addOn = new TagBuilder("span");
var container = new TagBuilder("div");
var addOnPrependString = "";
var addOnPrependIcon = "";
var addOnAppendIcon = "";
var htmlAttributes = new
{
@type = "text"
}.ObjectToHtmlAttributesDictionary();
model.htmlAttributes.MergeHtmlAttributes(html.GetUnobtrusiveValidationAttributes(model.htmlFieldName, model.metadata));
if (!string.IsNullOrEmpty(model.id))
model.htmlAttributes.Add("id", model.id);
if (!string.IsNullOrEmpty(model.placeholder))
model.htmlAttributes.Add("placeholder", model.placeholder);
if (model.size != Size._NotSet)
model.htmlAttributes.AddOrMergeCssClass("class", $"input-{model.size.ToName()}");
model.htmlAttributes.AddOrMergeCssClass("class", "date-picker");
model.htmlAttributes.AddOrMergeCssClass("class", "form-control");
if (!string.IsNullOrEmpty(model.dateFormat))
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.dateFormat), model.dateFormat);
if (model.weekStart != 0)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.weekStart), model.weekStart.ToString());
if(model.autoclose)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.autoclose), model.autoclose.ToString().ToLower());
if(model.calendarWeeks)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.calendarWeeks), model.calendarWeeks.ToString().ToLower());
if(model.clearBtn)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.clearBtn), model.clearBtn.ToString().ToLower());
if(!string.IsNullOrEmpty(model.container))
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.container), model.container);
if(model.datesDisabled.Any())
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.datesDisabled), new JavaScriptSerializer().Serialize(model.datesDisabled));
if(model.daysOfWeekDisabled.Any())
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.daysOfWeekDisabled), new JavaScriptSerializer().Serialize(model.daysOfWeekDisabled));
if (model.daysOfWeekHighlighted.Any())
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.daysOfWeekHighlighted), new JavaScriptSerializer().Serialize(model.daysOfWeekHighlighted));
if (!string.IsNullOrEmpty(model.defaultViewDate))
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.defaultViewDate), model.defaultViewDate);
if(model.disableTouchKeyboard)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.disableTouchKeyboard), model.disableTouchKeyboard.ToString().ToLower());
if(!model.enableOnReadonly)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.enableOnReadonly), model.enableOnReadonly.ToString().ToLower());
if (model.endDate != null)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.endDate), model.endDate.ToString());
if(!model.forceParse)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.forceParse), model.forceParse.ToString().ToLower());
if(model.immediateUpdates)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.immediateUpdates), model.immediateUpdates.ToString().ToLower());
if (!model.keyboardNavigation)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.keyboardNavigation), model.keyboardNavigation.ToString().ToLower());
if(!string.IsNullOrEmpty(model.language))
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.language), model.language);
if(model.multidate)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.multidate), model.multidate.ToString().ToLower());
if(!string.IsNullOrEmpty(model.multidateSeparator))
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.multidateSeparator), model.multidateSeparator);
if(!string.IsNullOrEmpty(model.orientation))
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.orientation), model.orientation);
if(!model.showOnFocus)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.showOnFocus), model.showOnFocus.ToString().ToLower());
if(model.startDate != null)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.startDate), model.startDate.ToString());
if(model.startView != 0)
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.startView), model.startView.ToString());
if(!string.IsNullOrEmpty(model.title))
model.htmlAttributes.AddOrReplace(model.HtmlAttr(() => model.title), model.title);
//.........这里部分代码省略.........
示例6: RenderSelectElement
public static string RenderSelectElement(HtmlHelper html, BootstrapSelectElementModel model, BootstrapInputType inputType)
{
string combinedHtml = "{0}{1}{2}";
if (model.selectedValue != null)
{
foreach (var item in model.selectList)
{
if (item.Value == model.selectedValue.ToString())
item.Selected = true;
}
}
model.htmlAttributes.MergeHtmlAttributes(html.GetUnobtrusiveValidationAttributes(model.htmlFieldName, model.metadata));
if (model.tooltipConfiguration != null) model.htmlAttributes.MergeHtmlAttributes(model.tooltipConfiguration.ToDictionary());
if (model.tooltip != null) model.htmlAttributes.MergeHtmlAttributes(model.tooltip.ToDictionary());
if (!string.IsNullOrEmpty(model.id)) model.htmlAttributes.AddOrReplace("id", model.id);
// assign size class
model.htmlAttributes.AddOrMergeCssClass("class", BootstrapHelper.GetClassForInputSize(model.size));
// build html for input
string input = string.Empty;
if(inputType == BootstrapInputType.DropDownList)
input = html.DropDownList(model.htmlFieldName, model.selectList, model.optionLabel, model.htmlAttributes.FormatHtmlAttributes()).ToHtmlString();
if(inputType == BootstrapInputType.ListBox)
input = html.ListBox(model.htmlFieldName, model.selectList, model.htmlAttributes.FormatHtmlAttributes()).ToHtmlString();
// account for appendString, prependString, and AppendButtons
TagBuilder appendPrependContainer = new TagBuilder("div");
if (!string.IsNullOrEmpty(model.prependString) | !string.IsNullOrEmpty(model.appendString) | model.appendButtons.Count() > 0)
{
string addOnPrependString = "";
string addOnAppendString = "";
string addOnPrependButtons = "";
string addOnAppendButtons = "";
TagBuilder addOn = new TagBuilder("span");
addOn.AddCssClass("add-on");
if (!string.IsNullOrEmpty(model.prependString))
{
appendPrependContainer.AddOrMergeCssClass("input-prepend");
addOn.InnerHtml = model.prependString;
addOnPrependString = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.appendString))
{
appendPrependContainer.AddOrMergeCssClass("input-append");
addOn.InnerHtml = model.appendString;
addOnAppendString = addOn.ToString();
}
if (model.appendButtons.Count() > 0)
{
appendPrependContainer.AddOrMergeCssClass("input-append");
((List<BootstrapButton>)model.appendButtons).ForEach(x => addOnAppendButtons += x.ToHtmlString());
}
if (model.prependButtons.Count() > 0)
{
appendPrependContainer.AddOrMergeCssClass("input-append");
((List<BootstrapButton>)model.prependButtons).ForEach(x => addOnPrependButtons += x.ToHtmlString());
}
appendPrependContainer.InnerHtml = addOnPrependButtons + addOnPrependString + "{0}" + addOnAppendString + addOnAppendButtons;
combinedHtml = appendPrependContainer.ToString(TagRenderMode.Normal) + "{1}{2}";
}
string helpText = model.helpText != null ? model.helpText.ToHtmlString() : string.Empty;
string validationMessage = "";
if(model.displayValidationMessage && html.ValidationMessage(model.htmlFieldName) != null )
{
string validation = html.ValidationMessage((string)model.htmlFieldName).ToHtmlString();
validationMessage = new BootstrapHelpText(validation, model.validationMessageStyle).ToHtmlString();
}
return MvcHtmlString.Create(string.Format(combinedHtml, input, helpText, validationMessage)).ToString();
}
示例7: RenderSelectElement
public static HtmlString RenderSelectElement(HtmlHelper html, SelectElementModel model, InputType inputType)
{
var combinedHtml = "{0}{1}{2}";
var input = string.Empty;
if (model.selectedValue != null)
{
foreach (var item in model.selectList)
{
if (item.Value == model.selectedValue.ToString())
item.Selected = true;
}
}
model.htmlAttributes.MergeHtmlAttributes(html.GetUnobtrusiveValidationAttributes(model.htmlFieldName, model.metadata));
if (!string.IsNullOrEmpty(model.id)) model.htmlAttributes.AddOrReplace("id", model.id);
if (model.size != Size._NotSet)
model.htmlAttributes.AddOrMergeCssClass("class", $"input-{model.size.ToName()}");
model.htmlAttributes.AddOrMergeCssClass("class", "form-control");
// build html for input
if (inputType == InputType.DropDownList)
input =
html.DropDownList(model.htmlFieldName, model.selectList, model.optionLabel,
model.htmlAttributes.FormatHtmlAttributes()).ToHtmlString();
if (inputType == InputType.ListBox)
input =
html.ListBox(model.htmlFieldName, model.selectList, model.htmlAttributes.FormatHtmlAttributes()).ToHtmlString();
// account for appendString, prependString, and AppendButtons
if (!string.IsNullOrEmpty(model.prependString) || !string.IsNullOrEmpty(model.appendString))
{
var appendPrependContainer = new TagBuilder("div");
var addOn = new TagBuilder("span");
var addOnPrependString = "";
var addOnAppendString = "";
var addOnPrependButtons = "";
var addOnAppendButtons = "";
appendPrependContainer.AddOrMergeCssClass("input-group");
addOn.AddCssClass("input-group-addon");
if (!string.IsNullOrEmpty(model.prependString))
{
addOn.InnerHtml = model.prependString;
addOnPrependString = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.appendString))
{
addOn.InnerHtml = model.appendString;
addOnAppendString = addOn.ToString();
}
appendPrependContainer.InnerHtml = addOnPrependButtons + addOnPrependString + "{0}" + addOnAppendString +
addOnAppendButtons;
combinedHtml = appendPrependContainer.ToString(TagRenderMode.Normal) + "{1}{2}";
}
var helpText = model.helpText != null ? model.helpText.ToHtmlString() : string.Empty;
var validationMessage = "";
if (model.displayValidationMessage)
{
var validation = html.ValidationMessage(model.htmlFieldName).ToHtmlString();
validationMessage = new HelpText(validation, model.validationMessageStyle).ToHtmlString();
}
var inputElement = string.Format(combinedHtml, input, helpText, validationMessage);
TagBuilder inputWrapper = null;
if (!string.IsNullOrEmpty(model.inputElementWrapper))
{
inputWrapper = new TagBuilder(model.inputElementWrapper);
if (model.inputElementWrapperAttributes != null)
inputWrapper.MergeAttributes(HtmlHelper.AnonymousObjectToHtmlAttributes(model.inputElementWrapperAttributes));
inputWrapper.InnerHtml = inputElement;
}
var htmlString = inputWrapper != null
? inputWrapper.ToString(TagRenderMode.Normal)
: inputElement;
return new HtmlString(htmlString);
}
示例8: RenderTextBox
public static HtmlString RenderTextBox(HtmlHelper html, TextBoxModel model, bool isPassword)
{
var combinedHtml = "{0}{1}{2}";
model.htmlAttributes.MergeHtmlAttributes(html.GetUnobtrusiveValidationAttributes(model.htmlFieldName, model.metadata));
if (!string.IsNullOrEmpty(model.id))
model.htmlAttributes.Add("id", model.id);
if (!string.IsNullOrEmpty(model.placeholder))
model.htmlAttributes.Add("placeholder", model.placeholder);
if (model.size != Size._NotSet)
model.htmlAttributes.AddOrMergeCssClass("class", $"input-{model.size.ToName()}");
model.htmlAttributes.AddOrMergeCssClass("class", "form-control");
var input = isPassword
? html.Password(model.htmlFieldName, null, model.htmlAttributes.FormatHtmlAttributes()).ToHtmlString()
: html.TextBox(model.htmlFieldName, model.value, model.format, model.htmlAttributes.FormatHtmlAttributes())
.ToHtmlString();
// account for appendString, prependString, and AppendButtons
if (!string.IsNullOrEmpty(model.prependString) || !string.IsNullOrEmpty(model.appendString) ||
model.iconPrepend != Icons._not_set
|| model.iconAppend != Icons._not_set || !string.IsNullOrEmpty(model.iconPrependCustomClass) ||
!string.IsNullOrEmpty(model.iconAppendCustomClass))
{
var appendPrependContainer = new TagBuilder("div");
appendPrependContainer.AddOrMergeCssClass("input-group");
appendPrependContainer.AddOrMergeCssClass("mar-btm");
var addOnPrependString = "";
var addOnAppendString = "";
var addOnPrependIcon = "";
var addOnAppendIcon = "";
var addOn = new TagBuilder("span");
addOn.AddCssClass("input-group-addon");
if (!string.IsNullOrEmpty(model.prependString))
{
addOn.InnerHtml = model.prependString;
addOnPrependString = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.appendString))
{
addOn.InnerHtml = model.appendString;
addOnAppendString = addOn.ToString();
}
if (model.iconPrepend != Icons._not_set)
{
addOn.InnerHtml = new Icon(model.iconPrepend, model.iconPrependIsWhite).ToHtmlString();
addOnPrependIcon = addOn.ToString();
}
if (model.iconAppend != Icons._not_set)
{
addOn.InnerHtml = new Icon(model.iconAppend, model.iconAppendIsWhite).ToHtmlString();
addOnAppendIcon = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.iconPrependCustomClass))
{
var i = new TagBuilder("i");
i.AddCssClass(model.iconPrependCustomClass);
addOn.InnerHtml = i.ToString(TagRenderMode.Normal);
addOnPrependIcon = addOn.ToString();
}
if (!string.IsNullOrEmpty(model.iconAppendCustomClass))
{
var i = new TagBuilder("i");
i.AddCssClass(model.iconAppendCustomClass);
addOn.InnerHtml = i.ToString(TagRenderMode.Normal);
addOnAppendIcon = addOn.ToString();
}
appendPrependContainer.InnerHtml = addOnPrependIcon + addOnPrependString + "{0}" + addOnAppendString +
addOnAppendIcon;
combinedHtml = appendPrependContainer.ToString(TagRenderMode.Normal) + "{1}{2}";
}
var helpText = model.helpText != null ? model.helpText.ToHtmlString() : string.Empty;
var validationMessage = "";
if (model.displayValidationMessage)
{
var validation = html.ValidationMessage(model.htmlFieldName).ToHtmlString();
validationMessage = new HelpText(validation, model.validationMessageStyle).ToHtmlString();
}
var htmlTextBox = string.Format(combinedHtml, input, helpText, validationMessage);
TagBuilder inputWrapper = null;
if (!string.IsNullOrEmpty(model.inputElementWrapper))
{
//.........这里部分代码省略.........