/// <summary> /// Creates the HTML for a submit <button>. /// </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)); }
/// <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)); }