zoukankan      html  css  js  c++  java
  • MVC 自定义 以表达式树为参数的htmlhelper

    public static MvcHtmlString Try<TModel, TProperty>(
    
        this HtmlHelper<TModel> htmlHelper, //声明这个方法Try是扩展函数,用来扩展HtmlHelper<TModel>
    
        Expression<Func<TModel, TProperty>> expression//这里声明需要使用时传入表达式树
    
    )
    
    {
    
        var builder = new TagBuilder("textarea");//建立一个TagBuidlder对象,标签名是textarea
    
        builder.AddCssClass("ckeditor");//加入一个ckeditor的css类
    
        builder.MergeAttribute("cols", "80");//加入或修改属性cols为80
    
        builder.MergeAttribute("name", "editor1");
    
        builder.MergeAttribute("id", expression.Name); // 加入或修改id属性为表达式树的Name
    
        var value = ModelMetadata.FromLambdaExpression(
    
            expression, htmlHelper.ViewData
    
        ).Model;//通过表达式树从元数据中获取具体对象
    
        builder.SetInnerText(value.ToString());// 设置内部文本
    
        return MvcHtmlString.Create(builder.ToString());//将builder对象转换MvcHtmlString对象并返回
    
    }


    参考凌鸢的文章。

  • 相关阅读:
    《道德经》全文
    mysql 服务启动后停止
    安装docker-compose
    金刚般若波罗蜜经
    elasticsearch reIndex
    【基础篇】1.vim复制黏贴跳转
    新事物如何持续性发展
    舒服的状态
    教父
    关于拖延
  • 原文地址:https://www.cnblogs.com/fej121/p/3987431.html
Copyright © 2011-2022 走看看