Razor常用语法介绍及示例
作者:痕迹g 时间:2024-05-13 09:16:20
@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
标签:Razor,常用,语法
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
在Pycharm中修改文件默认打开方式的方法
2023-03-12 06:34:23
![](https://img.aspxhome.com/file/2023/0/72130_0s.jpg)
python进程管理工具supervisor的安装与使用教程
2023-10-15 20:41:57
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2023-08-29 20:25:40
微信小程序wx.request拦截 器使用详解
2023-07-22 09:11:55
BootStrap的alert提示框的关闭后再显示怎么解决
2024-04-28 09:50:24
JavaScript中函数声明与函数表达式的区别详解
2024-04-19 10:02:34
TensorFlow和keras中GPU使用的设置操作
2023-08-07 20:32:53
django将网络中的图片,保存成model中的ImageField的实例
2023-12-23 01:11:33
浅谈tempdb在SqlServer系统中的重要作用
2024-01-16 12:43:42
四种Python机器学习超参数搜索方法总结
2022-03-19 17:29:22
python网络爬虫之如何伪装逃过反爬虫程序的方法
2022-08-12 10:23:23
JavaWeb实现显示mysql数据库数据
2024-01-20 09:39:43
![](https://img.aspxhome.com/file/2023/7/67187_0s.png)
Python利用Matplotlib库实现绘制饼形图
2021-08-13 11:08:51
![](https://img.aspxhome.com/file/2023/2/95132_0s.png)
有关缓存 Cache 的随想
2008-06-09 14:25:00
![](https://img.aspxhome.com/file/UploadPic/20086/9/200869143245569s.jpg)
Python变量和数据类型详解
2022-01-25 07:26:25
基于python3 的百度图片下载器的实现代码
2021-07-15 00:22:34
php依赖注入知识点详解
2024-05-02 17:33:00
全透视:CSS Z-index 属性
2009-09-21 12:52:00
![](https://img.aspxhome.com/file/UploadPic/up/2009092113092072.gif)
php获取域名的google收录示例
2022-08-22 07:26:48
使用ACCESS做网络版程序的四种解决方案
2009-01-14 16:22:00