• ASP.Net中模板解决方案


    最近项目有需要开发一个模板的功能,在asp.net mvc项目中使用模板在不压缩代码的情况下,性能能提升0.02s左右(本地IIS+FF),

    如果压缩代码性能差在1s左右。

    一个模板页内容如下:

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>${title}-${sitename}</title>
        ${css}
    </head>
    <body>
     <!-- 调用头部部分模板 -->
     ${partial:"partial.header.html"}
     <p>
        ${content}
     </p>
     <p>联系方式:<br />
     MSN:${msn}<br />
     QQ:${qq}</p>
    </body>
    </html>
    
    

    ${}表示一个标签,${partial:""}标示为一个部分的视图

    这样我们可以创建/template/#default/文件夹

    文件夹加上#可以防止别人通过http浏览或下载模板

    分别创建default.html和partial.header.html模板,并写入含有标签的Html代码

    在后台创建 TemplatePage对象,传入模板的ID或标签数据,使用ToString()返回HTML,

    我们可以扩展一个Render方法来输出Html到页面上

    代码如下:

                    string templateID=TemplateContext.Utility.GetTemplateID("Templates/#default/default.html");
                    TemplatePage page = new TemplatePage(templateID,
                        new
                        {
                            title = "网站首页",
                            headertext = "测试模板 by opsoft",
                            css = "/images/style.css",
                            content = @"此Demo仅供演示,详细使用方法请看代码或上网站www.ops.cc查询。",
                            msn="new.min@msn.com",
                            qq="959398298"
                        });
    
                    
                    page.Render();
    
    

    这个就完成了模版与内容的解析工作,在这之前我们还需要注册模板

    TemplateContext.RegisterTemplate(string basedirectory)

    参数为模版目录,这样就完成注册了,还可以使用模板缓存或压缩

    (默认压缩和缓存)

    缓存模板设置:Config.EnableCache=true;

    压缩模板设置:Config.EnableCompress=true;

    通过TemplateContext.Cache还可以添加和删除系统的标签

    点击这里下载Demo

  • 相关阅读:
    Kotlin协程第一个示例剖析及Kotlin线程使用技巧
    大数据JavaWeb之java基础巩固----Junit&反射&注解
    Kotlin协程重要概念详解【纯理论】
    Kotlin反射在属性上的应用实战
    Kotlin反射操纵构造方法与伴生对象
    个人任务day4
    典型用户和用户场景
    个人任务Day3
    个人任务2
    个人任务1
  • 原文地址:https://www.cnblogs.com/newmin/p/aspnet_template.html
Copyright © 2020-2023  润新知