コード例 #1
0
        /// <summary>
        /// Creates the HTML for a submit &lt;button&gt;.
        /// </summary>
        /// <param name="content">The content to display for the button</param>
        /// <param name="type">The type of submit button; submit (default) or reset</param>
        /// <param name="value">The value to submit with the button</param>
        /// <param name="id">The id/name to use for the button</param>
        /// <param name="htmlAttributes">Any HTML attributes that should be applied to the button</param>
        /// <returns>The HTML for the submit button</returns>
        public static Nancy.ViewEngines.Razor.IHtmlString BuildButton(Nancy.ViewEngines.Razor.IHtmlString content, string type = null, string id = null, string value = null, HtmlAttributes htmlAttributes = null)
        {
            var t = new TagBuilder("button")
            {
                InnerHtml = content.ToHtmlString()
            };

            if (value != null)
            {
                t.Attributes.Add("value", value);
            }
            if (type != null)
            {
                t.Attributes.Add("type", type);
            }
            if (id != null)
            {
                t.Attributes.Add("id", id);
                t.Attributes.Add("name", id);
            }
            if (htmlAttributes != null)
            {
                t.MergeAttributes(htmlAttributes.Attributes, true);
            }

            return(new NonEncodedHtmlString(t.ToString(TagRenderMode.Normal)));
        }
コード例 #2
0
        /// <summary>
        /// Creates the HTML for a label.
        /// </summary>
        /// <param name="for">The name/id for the checkbox</param>
        /// <param name="labelText">The text inside the label</param>
        /// <param name="htmlAttributes">Any HTML attributes that should be applied to the checkbox</param>
        /// <returns>The HTML for the checkbox</returns>
        public static Nancy.ViewEngines.Razor.IHtmlString BuildLabel(string @for, Nancy.ViewEngines.Razor.IHtmlString labelText, HtmlAttributes htmlAttributes)
        {
            var t = new TagBuilder("label");

            t.Attributes.Add("for", TagBuilder.CreateSanitizedId(@for));
            t.InnerHtml = labelText.ToHtmlString();

            if (htmlAttributes != null)
            {
                t.MergeAttributes(htmlAttributes.Attributes, false);
            }

            return(new NonEncodedHtmlString(t.ToString(TagRenderMode.Normal)));
        }