예제 #1
0
        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));
        }
예제 #2
0
        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));
        }