C#?Razor語(yǔ)法規(guī)則
- 單獨(dú)一個(gè)變量直接使用 @a 的形式,無(wú)需加分號(hào),一般是直接使用已有變量,注意在使用 html 標(biāo)簽時(shí),要和 razor 表達(dá)式加一個(gè)空格。
//以下都是錯(cuò)誤的@int a=0 //不能有空格 //@int a=0,@int 會(huì)被識(shí)別為Razor表達(dá)式, a=0識(shí)別為字符,并且@int會(huì)報(bào)錯(cuò)@int a = 0//不能有空格 <p>有幾個(gè)人@a</a> //此處不會(huì)被識(shí)別,已經(jīng)變成字符了 <h1 class="display-4">Welcome @a;</h1> // 輸入的是@a; 只會(huì)識(shí)別@a,而;將會(huì)變成字符
- Razor 代碼封裝于 @{ ... } 中 --多行代碼需要包含在 @{} 中
@{ int a = 0} //報(bào)錯(cuò),在@{}中要按正常C#代碼來(lái)寫,語(yǔ)句后要加分號(hào)- 封裝于 @{ ... } 中,Razor的變量是全局的,在一個(gè)位置聲明一個(gè)變量,后面都可以使用。
- 如果變量在 if/for{} 等處聲明則其為局部變量。對(duì)于 if/for 這些函數(shù)來(lái)說(shuō),可以不包含在@{}內(nèi),直接使用 @if/@for 這種形式
<!-- 多行語(yǔ)句代碼塊 1 -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
}
<!-- 多行語(yǔ)句代碼塊 2 -->
<ul>
@for (int i = 0; i < 100; i++)
{
i += 1;
<li>@i</li>
}- 行內(nèi)表達(dá)式(變量和函數(shù))以 @ 開頭 --單獨(dú)一條表達(dá)式如賦值、輸出,只需要在開頭加上@
<!-- 單行代碼塊 -->
@{ var myMessage = "Hello World"; }
<!-- 行內(nèi)表達(dá)式或變量 -->
<p>The value of myMessage is: @myMessage</p>- 代碼語(yǔ)句以分號(hào)結(jié)尾 --跟平常寫代碼一樣,語(yǔ)法格式一致
- 字符串由引號(hào)包圍
- C# 代碼對(duì)大小寫敏感,Razor 同樣
提示:
@{}中聲明的變量是全局性的。
@var net = "從入門到放棄"; 是錯(cuò)誤的寫法,因?yàn)閱涡斜磉_(dá)式不能有空格。請(qǐng)使用@{ var net = "從入門到放棄";}
Razor代碼可以放在HTML標(biāo)簽的任何位置,與標(biāo)簽結(jié)合一起,向用戶呈現(xiàn)內(nèi)容。
在多行代碼塊@{}中,如果只有c#代碼語(yǔ)句,則無(wú)需在每一條語(yǔ)句前面加@,如知識(shí)小結(jié)的第一條。
多行語(yǔ)句塊@{}中可以包含HTML標(biāo)簽,如果需要在HTML標(biāo)簽中使用代碼,只需在某一部位加上 “@語(yǔ)句”格式的語(yǔ)句。
在"多行語(yǔ)句代碼塊 2"的示例中,直接使用了"@for{}",{}里面包含多行代碼。在這里,for函數(shù)"for{}"里可以加入多行代碼,與"@{}"一致。
除for函數(shù)外,if , if...else... , while等函數(shù)也能包含多行代碼。
較為復(fù)雜的情況:
<div class="container-fluid col-10">
@{
if (Model != null)
{
if (Model.Code == 200)
{
var a = (AccurateBasicModel)Model.Data;
if (a.direction != null)
{
<p>圖像方向 @a.direction</p>
}
<p>識(shí)別出的文字條數(shù) @a.words_result_num</p>
int i = 1;
<table class="table table-hover table-responsive table-bordered">
<tr><td>編號(hào)</td><td>識(shí)別文字</td><td>行置信度平均值</td><td>行置信度方差</td><td>行置信度最小值</td></tr>
@foreach (var item in a.words_result)
{
<tr>
<td>@i</td>
<td> @item.words</td>
@{
if (item.probability != null)
{
<td>@item.probability.average</td>
<td>@item.probability.variance</td>
<td>@item.probability.min</td>
}
else
{
<td>未設(shè)置</td>
<td>未設(shè)置</td>
<td>未設(shè)置</td>
}
}
@{ i++;}
</tr>
}
</table>
}
else
{
<h3>識(shí)別錯(cuò)誤,錯(cuò)誤詳情:</h3>
<p>
@Model.Data.ToString()
</p>
}
}
else
{
<h2 id="plaseInput">請(qǐng)上傳圖片</h2>
}
}
</div>
</div>到此這篇關(guān)于C# Razor語(yǔ)法規(guī)則的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c#創(chuàng)建windows服務(wù)入門教程實(shí)例
windows服務(wù)是windows系統(tǒng)中一類特殊的應(yīng)用程序,一般情況下它們只會(huì)在后臺(tái)運(yùn)行,不會(huì)影響前臺(tái)操作,非常適合做一些不需要用戶參與的而又需要長(zhǎng)時(shí)間執(zhí)行的任務(wù)2014-04-04
簡(jiǎn)單實(shí)現(xiàn)winform編輯器
這篇文章主要教大家如何簡(jiǎn)單實(shí)現(xiàn)winform編輯器,功能很簡(jiǎn)單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Avalonia封裝實(shí)現(xiàn)指定組件允許拖動(dòng)的工具類
這篇文章主要為大家詳細(xì)介紹了Avalonia如何封裝實(shí)現(xiàn)指定組件允許拖動(dòng)的工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧2023-03-03

