public static MvcHtmlString ZN_RadionButtonList(this HtmlHelper helper, string name, IEnumerable <SelectListItem> items, IDictionary <string, object> htmlAttributes) { StringBuilder output = new StringBuilder(); foreach (var item in items) { var span = new TagBuilder("span"); var div = new TagBuilder("div"); var label = new TagBuilder("label"); var input = new TagBuilder("input"); div.AddCssClass("radio"); input.MergeAttribute("type", "radio"); input.MergeAttribute("name", name); input.MergeAttribute("value", item.Value); if (item.Selected) { input.MergeAttribute("checked", "checked"); } if (htmlAttributes != null) { input.MergeAttributes(htmlAttributes); } span.SetInnerText(item.Text); label.AppendHtml(input); label.AppendHtml(span); div.AppendHtml(label); output.Append(div); } return(new MvcHtmlString(output.ToString())); }
private void RenderWarning(TagBuilder builder) { if (builder.TagName == "td") { builder.MergeAttribute("colspan", Colspan?.ToString() ?? "100"); } builder.AddCssClass("null-warning"); builder.AppendHtml("i", i => i.AddCssClass("bi-exclamation-circle")); builder.AppendHtml("div", div => div.InnerHtml.AppendHtml(Text)); }
//public static MvcHtmlString InputGroupFor<TModel, TResult>(this HtmlHelper<TModel> html, Expression<Func<TModel, TResult>> expression, IDictionary<string, object> htmlAttributes) { public static MvcHtmlString InputGroupFor <TModel, TProperty>(this HtmlHelper <TModel> html, Expression <Func <TModel, TProperty> > expression, object htmlAttributes) { var tb = new TagBuilder("div"); var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes) as IDictionary <string, object>; tb.MergeAttributes(attributes); tb.Class("input-group"); tb.AppendHtml(html.LabelFor(expression, htmlAttributes: new { @class = "control-label input-group-addon" })); tb.AppendHtml(html.TextBoxFor(expression, htmlAttributes: new { @class = "form-control", Placeholder = html.DisplayNameFor(expression) })); return(MvcHtmlString.Create(tb.ToString())); }
private static void SetScript(this TagHelperOutput inputElement, ViewContext viewContext, string scr) { if (string.IsNullOrEmpty(scr)) { return; } dynamic viewBag = ((dynamic)viewContext.ViewBag).RenderPartial != (dynamic)null; if ((!viewBag ? viewBag : viewBag& ((dynamic)viewContext.ViewBag).RenderPartial)) { TagBuilder tagBuilder = new TagBuilder("script"); tagBuilder.AppendHtml(scr); inputElement.PostContent.AppendHtml(tagBuilder); return; } IHtmlContent htmlString = new HtmlString(scr); string str = "Scripts"; List <IHtmlContent> item = viewContext.TempData[str] as List <IHtmlContent>; if (item != null) { item.Add(htmlString); } else { List <IHtmlContent> list = new List <IHtmlContent>(); list.Add(htmlString); item = list; } viewContext.TempData[str] = item; }
/// <summary> /// 添加MarkDown编辑器按钮。 /// </summary> /// <param name="builder">当前工具栏标签实例。</param> /// <param name="key">功能键。</param> /// <param name="icon">图标。</param> /// <param name="title">标题。</param> protected void AddButton(TagBuilder builder, string key, string icon, string title) { builder.AppendHtml("a", a => { a.AppendHtml("i", x => x.AddCssClass(icon)); a.MergeAttribute("title", title); a.AddCssClass($"mozmd-syntax-{key}"); }); }
private TagBuilder CreateLink(int pageIndex, string innerHtml, string?title = null) { var li = new TagBuilder("li"); li.AddCssClass("page-item"); title ??= string.Format(Resources.PageTagHelper_NumberPage, pageIndex); if (Data !.PageIndex == pageIndex) { li.AddCssClass("active"); li.AppendHtml("span", span => { span.AddCssClass("page-link"); span.MergeAttribute("title", title); span.InnerHtml.AppendHtml(innerHtml); }); }