zoukankan      html  css  js  c++  java
  • Razor 模板引擎的使用

    安装Razor的模板引擎,通过vs的“扩展管理器”,查找"RazorEngine"并安装。安装的dll包括”RazorEngine.dll“和”System.Web.Razor.dll“

    下载:RazorEngine

     主要使用RazorEngine.Razor 类下的静态方法Parse(string razorTemplate, object model)方法,razorTemplate是模板文本,model是数据对象。

    1>定义实体类

    public class Articles
    {
        /// <summary>
        /// 文章ID
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 文章标题
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 文章内容
        /// </summary>
        public string Content { get; set; }
        /// <summary>
        /// 作者
        /// </summary>
        public string Author { get; set; }
        /// <summary>
        /// 发布时间
        /// </summary>
        public DateTime CreateDate { get; set; }
    }
    

    2>一般处理程序

    razorTemplate模板文本可以直接拼接,一般模板文本写到.cshtml的html文件中。
    <%@ WebHandler Language="C#" Class="razor" %>
    
    using System;
    using System.Web;
    
    public class razor : IHttpHandler
    {
    
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
    
            var model = new Articles()
            {
                Id = 1,
                CreateDate = DateTime.Now,
                Title = "Razor代码生成器",
                Content = "代码生成器内容",
                Author = "ITPROBIE.COM"
            };
            
            //string path = HttpContext.Current.Server.MapPath("razor.cshtml");
            //string razorTmpl = System.IO.File.ReadAllText(path);
    //和直接从razor.cshtml读取的内容是一样的 string razorTmpl = @"<h1>@Model.Title</h1> <p>作者:@Model.Author - 发布时间:@Model.CreateDate</p> <p>@Raw(Model.Content)</p>"; string html = RazorEngine.Razor.Parse(razorTmpl, model); HttpContext.Current.Response.Write(html); } public bool IsReusable { get { return false; } } }

      razor.cshtml

      <h1>@Model.Title</h1>
        <p>作者:@Model.Author - 发布时间:@Model.CreateDate</p>
        <p>@Raw(Model.Content)</p>
    

      

  • 相关阅读:
    Qt全局坐标和相对坐标
    坐标系统
    qt坐标系统见解
    Qt中QGraphics类坐标映射关系详解
    对QT多线程以及事件投递的理解
    Qt中mouseMoveEvent无效
    递归、尾递归
    末日重生
    201314
    归并排序
  • 原文地址:https://www.cnblogs.com/guohu/p/9496692.html
Copyright © 2011-2022 走看看