C#中Razor模板引擎简单使用

目录
  • 引用
  • 使用
  • Razor模板引擎语法
    • 1、简介:
    • 2、原理:
    • 3、语法规则:

使用视图引擎可以完成一些需要定制化内容格式的问题,比如邮件模板。

引用

install-package RazorEngine

使用

public class TestDemo
    {
        private string name;
        public int Age { get => age; set => age = value; }
        public string Name { get => name; set => name = value; }

        private int age;
    }
string template = @"
                @if(Model!=null){
                foreach(var item in Model){
<text>姓名:@item.Name,年龄:@item.Age</text>
                    }
                }else{
<text>没有数据</text>
}
                ";
            var data = new List<TestDemo>() {
                new TestDemo(){Name="张三",Age=10 },
                new TestDemo(){Name="张四",Age=11 },
                new TestDemo(){Name="马武",Age=30 }
            };
            var html= Razor.Parse(template, data);
            //输出
            //姓名:张三,年龄:10
            //姓名:张四,年龄:11
            //姓名:马武,年龄:30
            var html1 = Razor.Parse(template, null);
            //输出
            //没有数据

补充:下面看下Razor模板引擎(C#版)语法

Razor模板引擎语法

1、简介:

Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中。

基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。当一个网页被请求时,服务器在返回页面给浏览器之前先执行页面中的基于服务器的代码。通过服务器的运行,代码能执行复杂的任务,比如进入数据库。

Razor 是基于 ASP.NET 的,是为创建 Web 应用程序而设计的。它具有传统 ASP.NET 的功能,但更容易使用并且更容易学习。

2、原理:

Razor 是一种将服务器代码嵌入在网页中的简单的编程语法。

Razor 语法是基于 ASP.NET 框架,专门用于创建 Web 应用程序的部分 Microsoft.NET 框架。

Razor 语法支持所有 ASP.NET 的功能,但是使用的是一种简化语法,对初学者而言更容易学习,对专家而言更有效率的。

Razor 网页可以被描述成带以下两种类型内容的 HTML 网页: HTML 内容和 Razor 代码。

当 服务器读取页面时,它首先运行 Razor 代码,然后再发送 HTML 页面到浏览器。在服务器上执行的代码能够执行一些在浏览器上不能完成的任务,比如,访问服务器数据库。服务器代码能创建动态的 HTML 内容,然后发送到浏览器。从浏览器上看,服务器代码生成的 HTML 与静态的 HTML 内容没有什么不同。

3、语法规则:

Razor 代码块包含在 @{ ... } 中 。 (和asp的<% %>相似),注意代码块中除了C#代码,html也是允许的
内联表达式(变量和函数)以 @ 开头 (html中引用变量、对象需要使用@引用)
代码语句用分号结束
变量使用 var 关键字声明 (类型推断)
字符串用引号括起来
C# 代码区分大小写
C# 文件的扩展名是 .cshtml

语法补充:

1、if for  foreach while 都是代码块 ,用@if{} @for(){} 使用  ,或者放在代码块中使用 @{ if(){} }

2、读取用户输入:Request[] ;数据转换: AsInt()、AsDecimal()等

代码块中输出非html和非变量内容:<text>我是要输出的内容</text>  或: @:我是要输出的内容      (内容里也可以输出变量  @变量名)

代码块中输出内容:同在html中  使用  @变量名(不需要冒号)

在调用 返回IHtmlString类型的方法不需要“;”,也不需要在代码块中。如:@RenderPage() 、 @Html.Partial()等

只有在代码块中{}使用C#代码需要“;”   类似@RenderPage("~/Views/Shared/PartialOne.cshtml", new {lxf= "小飞哥"})这样输出内容的方法后面不需要加“;”

html中输出变量  如:@a    在@a前后如有内容时请加上括号: @(a)

到此这篇关于C#中Razor模板引擎简单使用的文章就介绍到这了,更多相关Razor模板引擎内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Razor模板引擎简单介绍

    一.工具下载: 程序集下载地址:链接: http://pan.baidu.com/s/1hsGJV5y 密码: pfja 适用于visual studio2015程序集下载地址:链接: http://pan.baidu.com/s/1nvn31IL 密码: 4v7h 如果在使用VS2015等更高版本的时候出现"File not Found Exception Cannot Load System.Web.Razor.dll Version=2.0.0"这样的错误,请换用下面附件中的程序

  • C#中Razor模板引擎简单使用

    目录 引用 使用 Razor模板引擎语法 1.简介: 2.原理: 3.语法规则: 使用视图引擎可以完成一些需要定制化内容格式的问题,比如邮件模板. 引用 install-package RazorEngine 使用 public class TestDemo { private string name; public int Age { get => age; set => age = value; } public string Name { get => name; set =>

  • ASP.NET Razor模板引擎中输出Html的两种方式

    本文实例讲述了ASP.NET Razor模板引擎中输出Html的两种方式.分享给大家供大家参考,具体如下: Razor中所有的Html都会自动编码,这样就不需要我们手动去编码了(安全),但在需要输出Html时就是已经转义过的Html文本了,如下所示: @{ string thisTest = "<span style=\"color:#f00;\">qubernet</span>"; } @thisTest; 这样在页面输出的文本就是:<

  • asp.net实现在非MVC中使用Razor模板引擎的方法

    本文实例讲述了asp.net实现在非MVC中使用Razor模板引擎的方法.分享给大家供大家参考.具体分析如下: 模板引擎介绍 Razor.Nvelocity.Vtemplate,Razor一般在MVC项目中使用,这里介绍在非MVC项目中的用法. 如何在非MVC中使用Razor模板引擎 借助于开源的RazorEngine,我们可以在非asp.net mvc项目中使用Razor引擎,甚至在控制台.WinForm项目中都可以使用Razor(自己开发代码生成器) 如何使用Razor 环境搭建: ① 添加

  • 在 Express 中使用模板引擎

    需要在应用中进行如下设置才能让 Express 渲染模板文件: views, 放模板文件的目录,比如: app.set('views', './views') view engine, 模板引擎,比如: app.set('view engine', 'jade') 然后安装相应的模板引擎 npm 软件包. $ npm install jade --save 和 Express 兼容的模板引擎,比如 Jade,通过 res.render() 调用其导出方法 __express(filePath,

  • Laravel中的Blade模板引擎示例详解

    前言 本文主要给大家介绍了关于Laravel中Blade模板引擎的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍吧. Blade 模板引擎 Blade 是 laravel 提供的一个简单强大的模板引擎,它是把 Blade 视图编译成原生的 PHP 代码并缓存起来.缓存会在 Blade 视图改变时而改变,这意味着 Blade 并没有给你的应用添加编译的负担.Blade 视图文件使用 .blade.php 后缀,一般都存储在 resources/views 目录下. 模板继承 先

  • PHP的自定义模板引擎

    前面的话 在大多数的项目组中,开发一个Web程序都会出现这样的流程:计划文档提交之后,前端工程师制作了网站的外观模型,然后把它交给后端工程师,它们使用后端代码实现程序逻辑,同时使用外观模型做成基本架构,然后工程被返回到前端工程师继续完善.就这样工程可能在后端工程师和前端工程师之间来来回回好几次.由于后端工程师不干预任何相关HTML标签,同时也不需要前端代码和后端代码混合在一起.前端工程师只需要配置文件,动态区块和其他的界面部分,不必要去接触那些错综复杂的后端代码.因此,这时候有一个很好的模板支持

  • asp.net模板引擎Razor中cacheName的问题分析

    本文实例讲述了asp.net模板引擎Razor中cacheName的问题.分享给大家供大家参考.具体如下: 一.为什么使用cacheName 使用cacheName主要是考虑到Razor.Parse()每解析一次都会动态创建一个程序集,如果解析量很大,就会产生很多程序集,大量的程序集调用会造成程序非常慢. 举个例子: 如果编译1000次,编译速度就会很慢. static void Main(string[] args) { string cshtml = File.ReadAllText(@"E

  • 简单的自定义php模板引擎

    模板引擎的思想是来源于MVC(Model View Controller)模型,即模型层.视图层.控制器层. 在Web端,模型层为数据库的操作:视图层就是模板,也就是Web前端:Controller就是PHP对数据和请求的各种操作.模板引擎就是为了将视图层和其他层分离开来,使php代码和html代码不会混杂在一起.因为当php代码和html代码混杂在一起时,将使代码的可读性变差,并且代码后期的维护会变得很困难. 大部分的模板引擎原理都差不多,核心就是利用正则表达式解析模板,将约定好的特定的标识语

  • PHP针对常规模板引擎中与CSS/JSON冲突的解决方法

    本文实例讲述了PHP针对常规模板引擎中与CSS/JSON冲突的解决方法,有一定的实用价值,具体分析如下: 本文主要针对对象为Smarty与Dwoo 在Smarty中经常会出现和CSS/JS的语法存在冲突的情况,因为二者都需要使用大括号{}.虽然可以改Smarty的界定符,但你在一个现存系统中,去修改所有相关代码,是不划算的.解决方法如下: 1. 避免同时出现 通过外部引用的方式避免.问题是避无所避.所以这种情况只适合少量简单的情况. 2. 修改Smarty界定符 3.可以使用Smarty的lit

随机推荐