internal static MvcHtmlString LabelHelper(HtmlHelper html, ModelMetadata metadata, string htmlFieldName, string labelText = null) { var resolvedLabelText = labelText ?? metadata.DisplayName ?? metadata.PropertyName ?? htmlFieldName.Split('.').Last(); if (String.IsNullOrEmpty(resolvedLabelText)) { return(MvcHtmlString.Empty); } var tag = new TagBuilder("label"); tag.Attributes.Add("for", TagBuilder.CreateSanitizedId(htmlFieldName)); tag.SetInnerText(resolvedLabelText); return(tag.ToMvcHtmlString(TagRenderMode.Normal)); }
public static string GenerateIdFromName(string name, string idAttributeDotReplacement) { if (name == null) { throw new ArgumentNullException("name"); } if (idAttributeDotReplacement == null) { throw new ArgumentNullException("idAttributeDotReplacement"); } // TagBuilder.CreateSanitizedId returns null for empty strings, return String.Empty instead to avoid breaking change if (name.Length == 0) { return(String.Empty); } return(TagBuilder.CreateSanitizedId(name, idAttributeDotReplacement)); }