Skip to content Skip to sidebar Skip to footer

Create Checkboxfor Mvc Helper With Title Attribute From Model Description

I've created a text box helper to add a title (tooltip) taken from the description attribute for the field in a model: public static MvcHtmlString TextBoxForWithTitle

Solution 1:

I tried and it seems to work so far - still have to try a few examples where I need the ID of the element:

 public static MvcHtmlString CheckBoxForWithTitle<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, object htmlAttributes = null)
    {
        var metaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
        string htmlFieldName = ExpressionHelper.GetExpressionText(expression);
        string chkboxText = metaData.DisplayName ?? metaData.PropertyName ?? htmlFieldName.Split('.').Last();
        MemberExpression memberExpression = expression.Body as MemberExpression;
        string parameterName = memberExpression.Member.Name;

        if (string.IsNullOrEmpty(chkboxText))
            return MvcHtmlString.Empty;
        var chkbox = new TagBuilder("input");
        chkbox.Attributes.Add("type", "checkbox");
        chkbox.MergeAttributes(new RouteValueDictionary(htmlAttributes));
        if (!string.IsNullOrEmpty(metaData.Description))
            chkbox.Attributes.Add("title", metaData.Description);
        return MvcHtmlString.Create(chkbox.ToString());
    }

Post a Comment for "Create Checkboxfor Mvc Helper With Title Attribute From Model Description"