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ù))以 @ 開(kāi)頭 --單獨(dú)一條表達(dá)式如賦值、輸出,只需要在開(kāi)頭加上@
<!-- 單行代碼塊 --> @{ 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-08Avalonia封裝實(shí)現(xiàn)指定組件允許拖動(dòng)的工具類
這篇文章主要為大家詳細(xì)介紹了Avalonia如何封裝實(shí)現(xiàn)指定組件允許拖動(dòng)的工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧2023-03-03