Razor常用語(yǔ)法介紹及示例
@using
@using 指令用于向生成的視圖添加 C# using 指令:
@using System.IO
@{
var dir = Directory.GetCurrentDirectory();
}
<p>@dir</p>@page
@page 指令具有不同的效果,具體取決于其所在文件的類(lèi)型。 指令:
在 .cshtml 文件中表示該文件是 Razor Page**。 有關(guān)詳細(xì)信息,請(qǐng)參閱自定義路由和 ASP.NET Core 中的 Razor 頁(yè)面介紹。
指定 Razor 組件應(yīng)直接處理請(qǐng)求。 有關(guān)詳細(xì)信息,請(qǐng)參閱 ASP.NET Core Blazor 路由。
@namespace
設(shè)置生成的 Razor 頁(yè)面、MVC 視圖或 Razor 組件的類(lèi)的命名空間。
@layout
@layout 指令指定 Razor 組件的布局。 布局組件用于避免代碼重復(fù)和不一致。
@inject
@inject 指令允許 Razor 頁(yè)面將服務(wù)從服務(wù)容器注入到視圖。
@implements
@implements 指令為生成的類(lèi)實(shí)現(xiàn)接口。
以下示例實(shí)現(xiàn) System.IDisposable,以便可以調(diào)用 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 指令將給定的屬性添加到生成的頁(yè)或視圖的類(lèi)中。 以下示例添加 [Authorize] 屬性:
@attribute [Authorize]
注釋
@{
/* C# comment */
// Another C# comment
}
<!-- HTML comment -->轉(zhuǎn)義
如果需要針對(duì)@轉(zhuǎn)義, 使用@@即可, 因?yàn)锧為razor的語(yǔ)法。
呈現(xiàn)HTML
@("<span>Hello World</span>")
<span>Hello World</span>try、catch、finally
與C#語(yǔ)法相似, 使用@前綴聲明即可。
{
throw new InvalidOperationException("You did something invalid.");
}
catch (Exception ex)
{
<p>The exception message: @ex.Message</p>
}
finally
{
<p>The finally statement.</p>
}循環(huán)語(yǔ)句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);條件語(yǔ)句 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;
}到此這篇關(guān)于Razor常用語(yǔ)法介紹及示例的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解讀ASP.NET 5 & MVC6系列教程(11):Routing路由
這篇文章主要介紹了ASP.NET 5 Routing路由的用法,雖然ASP.NET 5 和MVC6的路由使用方式很簡(jiǎn)單,但是相關(guān)的使用規(guī)則卻很復(fù)雜,大家使用的時(shí)候需要多加注意。2016-06-06
在ASP.NET 2.0中操作數(shù)據(jù)之四十四:DataList和Repeater數(shù)據(jù)排序(三)
上篇已經(jīng)完成了自定義分頁(yè),這一節(jié)我們繼續(xù)完善排序功能。2016-05-05
解讀ASP.NET 5 & MVC6系列教程(2):初識(shí)項(xiàng)目
這篇文章主要介紹ASP.NET 5中新建項(xiàng)目的結(jié)構(gòu)和之前的差異,介紹的比較細(xì)致,需要的朋友可以參考下。2016-06-06
NopCommerce架構(gòu)分析之(七)主題Theme皮膚管理器
本文主要介紹NopCommerce的皮膚管理機(jī)制,NopCommerce提供默認(rèn)的皮膚,我們也可以制作自己的皮膚,以實(shí)現(xiàn)個(gè)性化定制。2016-04-04
在ASP.NET 2.0中操作數(shù)據(jù)之四十八:對(duì)SqlDataSource控件使用開(kāi)放式并發(fā)
本文主要講解ASP.NET 2.0中SqlDataSource控件通過(guò)配合SQL語(yǔ)句達(dá)到控制開(kāi)放式并發(fā)的目的,通過(guò)在UPDATE和DELETE語(yǔ)句里擴(kuò)展WHERE字句,SqlDataSource能應(yīng)對(duì)絕大部分情況。2016-05-05
ASP.NET MVC4入門(mén)教程(九):查詢(xún)?cè)敿?xì)信息和刪除記錄
本文主要是MVC實(shí)戰(zhàn),介紹如何查詢(xún)和刪除信息,進(jìn)行到這一步,您已經(jīng)有一個(gè)完整的MVC案例了,創(chuàng)建、 讀取、 更新、 刪除和搜索等功能也都做了演示。2016-04-04
基于.NET平臺(tái)常用的框架和開(kāi)源程序整理
本文介紹了一些.NET中用到的分布式緩存框架,和一些開(kāi)源的程序,以及一些常見(jiàn)的類(lèi)庫(kù),供大家學(xué)習(xí)參考。2016-03-03
解讀ASP.NET 5 & MVC6系列教程(6):Middleware詳解
這篇文章主要介紹了Middleware詳解,需要的朋友可以參考下2016-06-06
在ASP.NET 2.0中操作數(shù)據(jù)之一:創(chuàng)建一個(gè)數(shù)據(jù)訪問(wèn)層
本文主要介紹創(chuàng)建數(shù)據(jù)訪問(wèn)層的具體步驟,從配置數(shù)據(jù)庫(kù)連接到插入,更新和刪除數(shù)據(jù)的具體實(shí)現(xiàn)方法,希望對(duì)大家有所幫助。2016-04-04
ASP.NET MVC4入門(mén)教程(一):入門(mén)介紹
本文主要是MVC4的入門(mén)介紹,演示如何創(chuàng)建一個(gè)MVC4的應(yīng)用程序。2016-04-04

