服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#中Razor模板引擎简单使用

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

2023-02-14 15:14Mr. Hu C#

Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中,本文给大家介绍了C#中Razor模板引擎简单使用,需要的朋友可以参考下

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

引用

?
1
install-package RazorEngine

使用

?
1
2
3
4
5
6
7
8
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;
    }
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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模板引擎内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/huhangfei/p/8917326.html

延伸 · 阅读

精彩推荐
  • C#C#中字符串优化String.Intern、IsInterned详解

    C#中字符串优化String.Intern、IsInterned详解

    这篇文章主要给大家介绍了关于C#中字符串优化String.Intern、IsInterned的相关资料,文中通过示例代码介绍的,对大家的学习或者工作具有一定的参考学习价值...

    小匠头3872022-02-13
  • C#C#编译器对局部变量的优化指南

    C#编译器对局部变量的优化指南

    这篇文章主要给大家介绍了关于C#编译器对局部变量的优化指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    冠军10492022-10-13
  • C#C#中ZipHelper 压缩和解压帮助类

    C#中ZipHelper 压缩和解压帮助类

    本文介绍C#实现压缩与解压缩帮助类ZipHelper,主要是通过ICSharpCode.SharpZipLib 类库实现的。...

    杨恒连5302021-11-21
  • C#C#浏览器提示跨域问题解决方案

    C#浏览器提示跨域问题解决方案

    这篇文章主要介绍了C#浏览器提示跨域问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    叶丶梓轩5282022-09-24
  • C#unity实现鼠标拖住3D物体

    unity实现鼠标拖住3D物体

    这篇文章主要为大家详细介绍了unity实现鼠标拖住3D物体,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    人生若只如初见~~~9052022-07-29
  • C#浅谈C#中正则表达式的使用

    浅谈C#中正则表达式的使用

    本篇文章主要介绍了C#中正则表达式的使用,具有一定的参考价值,有需要的可以了解一下。...

    Qi Fei7752021-12-15
  • C#利用WPF窗口程序设计简单计算器

    利用WPF窗口程序设计简单计算器

    这篇文章主要为大家详细介绍了利用WPF窗口程序设计简单计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Venistarc3762022-10-14
  • C#C#内存管理CLR深入讲解(下篇)

    C#内存管理CLR深入讲解(下篇)

    本文详细讲解了C#内存管理CLR的内存分配和对大对象回收,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...

    Artech7522022-12-21