Razor常用语法介绍及示例
作者:痕迹g 发布时间:2024-05-13 09:16:20
标签: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;
}
更多语法介绍
来源:https://www.cnblogs.com/zh7791/p/12751824.html


猜你喜欢
- 使用axios固定url请求前缀main.js中添加:使用方法:定义axios默认路径前缀或动态修改前缀如:每个请求url前都要加一个前缀,
- 如下所示:try:a=1except Exception as e: print (e)import tracebackimport sys
- 前言如何从图像中提取特征?第一次听说“特征提取”一词是在 YouTube 上的机器学习视频教程中,它
- 并发安全和锁有时候在Go代码中可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞态)。类比现实生活中
- 最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿
- 本文实例讲述了Python实现简单过滤文本段的方法。分享给大家供大家参考,具体如下:一、问题:如下文本:## Alignment 0: sc
- 之前捣鼓树莓派时,要求做一个番茄钟,但最后就只是搞成一个与树莓派没啥关系的py程序,虽然简陋,但就此记录一下自学的成果。程序实现番茄工作法:
- 这里再重复一下标题为什么是"使用"而不是"实现":首先,专业人士提供的算法比我们自己写的算法无论是效
- 新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.us
- 引言所谓 路由 就是根据不同的 url 地址展示不同的内容或页面形象点 举个栗子??:电话的拨号界面咱们都见过都使用过你输入一串号码,就可以
- Internet Explorer 9 Platform 1.9.7916.6000 Preview 4微软今天公布了IE9 Platfor
- 利用Keras构建完普通BP神经网络后,还要会构建CNNKeras中构建CNN的重要函数1、Conv2DConv2D用于在CNN中构建卷积层
- 异常的捕获与处理什么是错误简而言之:还没运行,在语法解析的时候,就发现语法存在问题,这个时候就是错误。什么是异常简而言之:代码写好之后,无明
- Math.abs(x):可返回数的绝对值Math.ceil(x):向上取整Math.floor(x):向下取整Math.max(x,y):最
- 前言之前使用 vue2.x + webpack3.x 撸了一个 vue 单页脚手架vue 版 spa 脚手架 有兴趣的同学可以看下,内附详细
- Gevent官网文档地址:http://www.gevent.org/contents.html进程、线程、协程区分我们通常所说的协程Cor
- 简介with的基本表达式如下with context_expression [as target(s)]: ...
- mysql 创建的优化就是加索引,可是有时候会遇到加索引都没法达到想要的效果的情况,加上了所以,却还是搜索的全数据,原因是sqlEXPLAI
- 删除Git缓存的用户名和密码昨天在上传代码的时候提示输入用户名密码,结果输错了3次就没有提示框了,就一直报错(身份验证失败),没办法提交代。
- 1.ResNet的创新现在重新稍微系统的介绍一下ResNet网络结构。 ResNet结构首先通过一个卷积层然后有一个池化层,然后通过一系列的