diff --git a/src/Orchard/Mvc/Html/HtmlHelperExtensions.cs b/src/Orchard/Mvc/Html/HtmlHelperExtensions.cs index d4bf700da..3cb858bed 100644 --- a/src/Orchard/Mvc/Html/HtmlHelperExtensions.cs +++ b/src/Orchard/Mvc/Html/HtmlHelperExtensions.cs @@ -36,6 +36,21 @@ namespace Orchard.Mvc.Html { return id.Replace('[', '_').Replace(']', '_'); } + public static IHtmlString LabelFor(this HtmlHelper html, Expression> expression, LocalizedString labelText) { + return LabelFor(html, expression, labelText.ToString()); + } + + public static IHtmlString LabelFor(this HtmlHelper html, Expression> expression, string labelText) { + if (String.IsNullOrEmpty(labelText)) { + return MvcHtmlString.Empty; + } + var htmlFieldName = ExpressionHelper.GetExpressionText(expression); + var tag = new TagBuilder("label"); + tag.Attributes.Add("for", html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(htmlFieldName)); + tag.SetInnerText(labelText); + return MvcHtmlString.Create(tag.ToString(TagRenderMode.Normal)); + } + public static MvcHtmlString SelectOption(this HtmlHelper html, T currentValue, T optionValue, string text) { return SelectOption(html, optionValue, object.Equals(optionValue, currentValue), text); }