Пример #1
0
        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()));
        }
Пример #2
0
 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));
 }
Пример #3
0
        //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;
        }
Пример #5
0
 /// <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}");
     });
 }
Пример #6
0
        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);
                });
            }