MVC 自定义 以表达式树为参数的htmlhelper

public static MvcHtmlString Try<TModel, TProperty>(

    this HtmlHelper<TModel> htmlHelper, 

    Expression<Func<TModel, TProperty>> expression

)

{

    var builder = new TagBuilder("textarea");

    builder.AddCssClass("ckeditor");

    builder.MergeAttribute("cols", "80");

    builder.MergeAttribute("name", "editor1");

    builder.MergeAttribute("id", expression.Name); // not sure about the id - verify

    var value = ModelMetadata.FromLambdaExpression(

        expression, htmlHelper.ViewData

    ).Model;

    builder.SetInnerText(value.ToString());

    return MvcHtmlString.Create(builder.ToString());

}


参考凌鸢的文章。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。