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对象并返回
    
    }


    参考凌鸢的文章。

  • 相关阅读:
    inner join和join
    Java输入输出流
    数据库基础——并发控制
    逻辑题
    数据库基础——数据库设计
    JDBC
    XmlHttpRequest
    servlet乱码
    Tomcat缺少服务
    poj2388---求奇数个数字的最中间的数
  • 原文地址:https://www.cnblogs.com/fej121/p/3987431.html
Copyright © 2011-2022 走看看