Razor文法(五)

來源:互聯網
上載者:User

約定:用戶端代碼稱C域,伺服器端代碼稱S域

0. 基本原則
Razor模板預設是C域(與php、aspx相同)
任何C域都可以內嵌S域
行內S域不可內嵌C域,多行S域可內嵌任何C域
@符號是關鍵符號,使用@從C域向S域切換
使用標籤從S域向多行C域切換,使用@:從S域向行內C域切換

1. 行內S域的幾種形式
@變數  例如:@User.Name,變數或屬性結束後自動變回C域,如遇結束判斷有歧義,請加括弧如下
@( 運算式 )  例如:@(i + 1) 或 @(User.Name)
@方法調用  例如:@Html.TextBox("username").ToString()

2. 多行S域的幾種形式
@{ 代碼塊 }
@if (條件) { 代碼塊 }
@switch (條件) { 分支符合代碼塊 }
@for (迴圈控制) { 代碼塊 }
@foreach (迴圈控制) { 代碼塊 }
@while (迴圈控制) { 代碼塊 }
@do { 代碼塊 } while (迴圈控制);

3. 行內C域的形式
@:行內文字,換行自動變回S域

4. 多行C域的幾種形式
任何標籤對  例如:<div>多行文字</div>
任何自閉合標籤  例如:<img 多行屬性 />
純文字使用偽標籤<text>  例如:<text>多行文字,兩側標籤不會被輸出</text>

5. 衝突解決
電子郵箱可自動識別並輸出  例如:hello@hotmail.com 會以文字形式正確輸出
誤判的解決  例如:hello@User.Name 會誤判為電子郵箱,應加括弧解決,即:hello@(User.Name)
非電子郵箱,則使用@@轉義輸出單個@

6. 預設指令符
@model 指定視圖使用的模型
@section 指示開始一個節的定義
@helper 定義一個HtmlHelper擴充

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.