Razor常用语法介绍及示例

@using

@using 指令用于向生成的视图添加 C# using 指令:

@using System.IO
@{
    var dir = Directory.GetCurrentDirectory();
}
<p>@dir</p>

@page

@page 指令具有不同的效果,具体取决于其所在文件的类型。 指令:

在 .cshtml 文件中表示该文件是 Razor Page**。 有关详细信息,请参阅自定义路由和 ASP.NET Core 中的 Razor 页面介绍

指定 Razor 组件应直接处理请求。 有关详细信息,请参阅 ASP.NET Core Blazor 路由

@namespace

设置生成的 Razor 页面、MVC 视图或 Razor 组件的类的命名空间。

@layout

@layout 指令指定 Razor 组件的布局。 布局组件用于避免代码重复和不一致。

@inject

@inject 指令允许 Razor 页面将服务从服务容器注入到视图。

@implements

@implements 指令为生成的类实现接口。
以下示例实现 System.IDisposable,以便可以调用 Dispose 方法:

<h1>Example</h1>

@functions {
    private bool _isDisposed;

    ...

    public void Dispose() => _isDisposed = true;
}

@code

@code 块允许 Razor 组件将 C# 成员(字段、属性和方法)添加到组件中。

    @code {
    // C# members (fields, properties, and methods)
}

@attribute

@attribute 指令将给定的属性添加到生成的页或视图的类中。 以下示例添加 [Authorize] 属性:

@attribute [Authorize]

注释

@{
    /* C# comment */
    // Another C# comment
}
<!-- HTML comment -->

转义

如果需要针对@转义, 使用@@即可, 因为@为razor的语法。

呈现HTML

@("<span>Hello World</span>")

<span>Hello World</span>

try、catch、finally

与C#语法相似, 使用@前缀声明即可。

    {
    throw new InvalidOperationException("You did something invalid.");
}
catch (Exception ex)
{
    <p>The exception message: @ex.Message</p>
}
finally
{
    <p>The finally statement.</p>
}

循环语句for、foreach、while 和 dowhile

  • @for
@for (var i = 0; i < people.Length; i++)
{
    var person = people[i];
    <p>Name: @person.Name</p>
    <p>Age: @person.Age</p>
}
  • @foreach
@foreach (var person in people)
{
    <p>Name: @person.Name</p>
    <p>Age: @person.Age</p>
}
  • @while
@{ var i = 0; }
@while (i < people.Length)
{
    var person = people[i];
    <p>Name: @person.Name</p>
    <p>Age: @person.Age</p>

    i++;
}
  • @do while
@{ var i = 0; }
@do
{
    var person = people[i];
    <p>Name: @person.Name</p>
    <p>Age: @person.Age</p>

    i++;
} while (i < people.Length);

条件语句 if、else if、else 和 switch

@if (value % 2 == 0)
{
    <p>The value was even.</p>
}

@if (value % 2 == 0)
{
    <p>The value was even.</p>
}
else if (value >= 1337)
{
    <p>The value is large.</p>
}
else
{
    <p>The value is odd and small.</p>
}

@switch (value)
{
    case 1:
        <p>The value is 1!</p>
        break;
    case 1337:
        <p>Your number is 1337!</p>
        break;
    default:
        <p>Your number wasn't 1 or 1337.</p>
        break;
}

更多语法介绍

到此这篇关于Razor常用语法介绍及示例的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解ASP.NET Razor 语法

    Razor 同时支持 C# (C sharp) 和 VB (Visual Basic). 主要的 Razor C# 语法规则 Razor 代码块包含在 @{ ... } 中 内联表达式(变量和函数)以 @ 开头 代码语句用分号结束 变量使用 var 关键字声明 字符串用引号括起来 C# 代码区分大小写 C# 文件的扩展名是 .cshtml C# 实例 <!-- Single statement block --> @{ var myMessage = "Hello World&quo

  • 详解ASP.NET MVC3:Razor的@:和语法

    这是我正在写的博文系列中的另一篇,涵盖ASP.NET MVC 3的一些新功能: http://weblogs.asp.net/scottgu/archive/2010/10/19/asp-net-mvc-3-new-model-directive-support-in-razor.aspx Razor中的布局10月22日) 用Razor实现服务器端注释(11月12日) Razor的@:和<syntax>语法(今天) 本文将讨论新版Razor里视图引擎中支持的两个有用的语法功能:@:和<t

  • C# Razor语法规则

    单独一个变量直接使用 @a 的形式,无需加分号,一般是直接使用已有变量,注意在使用 html 标签时,要和 razor 表达式加一个空格. //以下都是错误的@int a=0 //不能有空格 //@int a=0,@int 会被识别为Razor表达式, a=0识别为字符,并且@int会报错@int a = 0//不能有空格 <p>有几个人@a</a> //此处不会被识别,已经变成字符了 <h1 class="display-4">Welcome @a

  • ASP.NET MVC学习教程之Razor语法

    前言 ASP.NET MVC 3配有一个新的名为"Razor"的视图引擎选项(除了已有的.aspx视图引擎).Razor尽量减少编写一个视图模板需要敲入的字符数,实现快速流畅的编程工作流.与大部分模板的语法不同,你不必在HTML中为了明确地标记出服务模块的开始和结束而中断编程.Razor解析器足够聪明,能从你的代码中推断出来.这使其简洁,富有表现力的语法输入干净,快速,有趣.下面话不多说了,来一起看看详细的介绍吧 1. 表达式 表达式必须跟在"@"符号之后, 2.代

  • 教你如何在 Javascript 文件里使用 .Net MVC Razor 语法

    相信大家都试过在一个 View 里嵌套使用 javascript,这时就可以直接使用 Razor 语法以调用 .NET 的一些方法.如以下代码嵌套在一个 Razor 的 View 里: <script> var currDate = '@DateTime.Now'; //直接调用.NET的方法 console.log(currDate) </script> 但另一种情况是,如果我想在一个独立的 JS 文件里使用 Razor,那以上的方法可行不通,因为MVC不会直接解释JS文件,只有

  • Razor常用语法介绍及示例

    @using @using 指令用于向生成的视图添加 C# using 指令: @using System.IO @{ var dir = Directory.GetCurrentDirectory(); } <p>@dir</p> @page @page 指令具有不同的效果,具体取决于其所在文件的类型. 指令: 在 .cshtml 文件中表示该文件是 Razor Page**. 有关详细信息,请参阅自定义路由和 ASP.NET Core 中的 Razor 页面介绍. 指定 Raz

  • Apache Ant自动化脚本入门教程及常用命令介绍

    一 Ant简介 Apache Ant是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的自动化构建.它是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点: 跨平台性.Ant是纯Java语言编写的,所以具有很好的跨平台性 操作简单.Ant是由一个内置任务和可选任务组成的.Ant运行时需要一个XML文件(构建文件). Ant通过调用target树,就可以执行各种任务.由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构清晰

  • Flask框架Jinjia模板常用语法总结

    本文实例总结了Flask框架Jinjia模板常用语法.分享给大家供大家参考,具体如下: 1. 变量表示 {{ argv }} 2. 赋值操作 {% set links = [ ('home',url_for('.home')), ('service',url_for('.service')), ('about',url_for('.about')), ] %} 3. if判断 {% if not loop.first %}|{% endif %} 4. for 循环 {% for label,l

  • Oracle 左连接(+)加号用法及常用语法之间的关系

    本文目的: 通过分析左连接(+)加号的写法和一些常用语法之间的联系,了解到Oracle 加号(+)的用法 分析步骤: 1.首先创建测试表的结构: create table test_left_a ( a varchar2(50), b varchar2(50) ) create table test_left_b ( a varchar2(50), b varchar2(50) ) 2.插入相应的测试数据: insert into test_left_a select 'a','21' from

  • Scala函数式编程专题--scala基础语法介绍

    上次我们介绍了函数式编程的好处,并使用scala写了一个小小的例子帮助大家理解,从这里开始我将真正开始介绍scala编程的一些内容. 这里会先重点介绍scala的一些语法.当然,这里是假设你有一些java或者python的基础,毕竟大部分人不会将scala当作第一门学习编程的语言. 不过这些语法知识记不住也没关系,本身语法这种东西就应该在使用中被记住.这里写这篇的目的也只是梳理一遍,方便大家对语法有个初步的印象,后面可以随时查询. PS:所使用的版本是scala 2.11.8,那我们开始吧 一.

  • mybatis的使用-Mapper文件各种语法介绍

    一.查询 mybatis自定义查询条件,queryString.queryMap.limit,Mapper文件写法如下: <select id="getByQueryParam" parameterType="com.systom.base.BaseDaoQueryParam" resultMap="BaseResultMap"> SELECT * FROM user WHERE 1 = 1 <if test="par

  • Unity常用音频操作类示例代码

    下面通过代码给大家介绍Unity常用音频操作类,具体代码如下所示: using UnityEngine; using System.Collections; public class AudioPlay : MonoBehaviour { public static AudioPlay Instance; public AudioClip[] FuChuAudio; public AudioSource FCAudio; // public AudioSource BabyAudio; // U

  • ASP.NET Core Razor页面用法介绍

    简介 随着ASP.NET Core 2 即将来临,最热门的新事物是Razor页面.在之前的一篇文章中,我们简要介绍了ASP.NET Core Razor 页面. Razor页面是ASP.NET Core的一个新功能,可以使基于页面的编程方式更容易,更高效. 大众的初步印象是对于那些只专注于页面的小型应用来说,Razor页面更容易.更快地取代MVC.然而,事实证明,它可能比这更强大.使用ASP.NET Core 2在创建新的应用程序时,Razor页面(空,Razor页面,Web API,MVC)是

  • Pytorch实现常用乘法算子TensorRT的示例代码

    目录 1.乘法运算总览 2.乘法算子实现 2.1矩阵乘算子实现 2.2点乘算子实现 本文介绍一下 Pytorch 中常用乘法的 TensorRT 实现. pytorch 用于训练,TensorRT 用于推理是很多 AI 应用开发的标配.大家往往更加熟悉 pytorch 的算子,而不太熟悉 TensorRT 的算子,这里拿比较常用的乘法运算在两种框架下的实现做一个对比,可能会有更加直观一些的认识. 1.乘法运算总览 先把 pytorch 中的一些常用的乘法运算进行一个总览: torch.mm:用于

  • SpringData JPA的常用语法汇总

    目录 前言 1.方法方式 方法说明 例子 2.注解方式 注解说明 例子 多表联查,且多条件.分页查询怎么写? 小结 总结 前言 SpringData JPA常用有两种写法,一个是用Jpa自带方法进行CRUD,适合简单查询场景.例如查询全部数据.根据某个字段查询,根据某字段排序等等.另一种是使用注解方式,@Query.@Modifying. 1.方法方式 方法说明 接口方法如下,方法作用见注释: public interface JpaRepository<T, ID> extends Pagi

随机推荐