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