/// <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))); }