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>
    

      

  • 相关阅读:
    Webdriver启动Firefox浏览器后,页面显示空白
    Windows+Python+Selenium基础篇之1-环境搭建
    office2010无法卸载问题
    .NET使用FastDBF读写DBF
    并发编程相关概念
    C#的多线程简洁笔记
    asp.net core 3.1 入口:Program.cs中的Main函数
    【WPF学习】第四十四章 图画
    .NET知识梳理——1.泛型Generic
    C#个推SDK推送安卓+iOS
  • 原文地址:https://www.cnblogs.com/guohu/p/9496692.html
Copyright © 2011-2022 走看看