ASP.NET Razor - ภาษา C# และ VB โค้ด syntax
- หน้าก่อนหน้า เรื่องย่อของ Razor
- หน้าต่อไป ตัวแปร C# ใน Razor
Razor สนับสนุนภาษา C# (C sharp) และ VB (Visual Basic) พร้อมกัน
กฎระเบียบ Razor หลักของ C#
- โค้ด Razor ถูกล้อมรอบด้วย @{ ... }
- ความเป็นไปได้ที่ใช้ตัวแปรหรือฟังก์ชันภายในบรรทัดเริ่มด้วย @
- ประโยคโค้ดจะสิ้นสุดด้วยเครื่องหมายปิดสีแดง
- ตัวสัญญาณมีขอบเคืองด้วยคำว่าขอบ
- โค้ด C# รับความสำคัญกับกระบวนการใช้คีย์แบกซ์ตัวใหญ่หรือตัวเล็ก
- นามสกุลแฟ้ม C# คือ .cshtml
ตัวอย่าง C#
<!-- บล็อคความเป็นไปได้ของบรรทัดเดียว --> @{ var myMessage = "Hello World"; } <!-- แสดงความเป็นไปได้หรือตัวแปรในแถว --> <p>ค่าของ myMessage คือ: @myMessage</p> <!-- บล็อคความเป็นไปได้ของบรรทัดที่หลายช่อง --> @{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Here in Huston it is: " + weekDay; } <p>ข้อความเตือนคือ: @greetingMessage</p>
ปฏิบัติตัวอย่าง
กฎระเบียบ Razor หลักของ VB
- โค้ด Razor ถูกล้อมรอบด้วย @Code ... End Code
- ความเป็นไปได้ที่ใช้ตัวแปรหรือฟังก์ชันภายในบรรทัดเริ่มด้วย @
- ใช้คำว่า Dim มาประกาศตัวแปร
- ตัวสัญญาณมีขอบเคืองด้วยคำว่าขอบ
- VB ไม่รับความสำคัญกับกระบวนการใช้คีย์แบกซ์ตัวใหญ่หรือตัวเล็ก
- นามสกุลแฟ้ม VB คือ .vbhtml
ตัวอย่าง
<!-- บล็อคความเป็นไปได้ของบรรทัดเดียว --> @Code dim myMessage = "Hello World" End Code <!-- แสดงความเป็นไปได้หรือตัวแปรในแถว --> <p>ค่าของ myMessage คือ: @myMessage</p> <!-- บล็อคความเป็นไปได้ของบรรทัดที่หลายช่อง --> @Code dim greeting = "Welcome to our site!" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Here in Huston it is: " & weekDay สิ้นสุดโค้ด <p>ข้อความเตือนคือ: @greetingMessage</p>
ปฏิบัติตัวอย่าง
แบบที่เป็นไปได้?
Razor เป็นภาษาเขียนโปรแกรมที่เรียบง่าย ใช้ในการแนวรับโค้ดบนด้านเซิร์ฟเวอร์ของเว็บ
Razor 语法มีฐานบน ASP.NET ซึ่งเป็นส่วนประกอบของ .NET ภาษาจาก Microsoft ที่ถูกออกแบบเพื่อการพัฒนาโปรแกรม web ในเครื่องข่าย
Razor 语法มอบความสามารถทั้งหมดของ ASP.NET ให้คุณ แต่ใช้กลองเรียกแบบที่เรียบง่าย ดังนั้นถ้าคุณเป็นผู้เริ่มต้น จะง่ายต่อการเรียนรู้ และถ้าคุณเป็นผู้เชี่ยวชาญ จะช่วยเพิ่มผลผลิตมากยิ่งขึ้น
Razor 網頁可被描述為帶有兩種內容的 HTML 頁面:HTML 內容和 Razor 代碼。
當服務器讀取這種頁面後,在將 HTML 頁面發送到瀏覽器之前,會首先運行 Razor 代碼。這些在服務器上執行的代碼能夠完成瀏覽器中無法完成的任務,比如訪問服務器數據庫。服務器代碼能在頁面被發送到瀏覽器之前創建動態的 HTML 內容。從瀏覽器來看的話,由服務器代碼生成的 HTML 與靜態 HTML 內容沒有區別。
使用 Razor 語法的 ASP.NET 網頁擁有特殊的文件擴展名 cshtml(使用 C# 的 Razor 語法)或者 vbhtml(使用 VB 的 Razor)。
與對象打交道
服務器代碼常常涉及對象。
"Date" 對象是典型的 ASP.NET內建對象,但是也可以自行定義對象,一張網頁,一個文本框,一個文件,或者一條數據庫記錄,等等。
對象可以擁有能夠執行的方法。數據庫記錄可以提供“保存”方法,圖像對象可以有“旋轉”方法,郵件對象可以提供“發送”方法,以此類推。
對象也可以有描述其特點的屬性。數據庫記錄可以有 FirstName 和 LastName 屬性。
ASP.NET Date 對象擁有 Now 屬性(寫為 Date.Now),Now 屬性有 Day 屬性(寫為 Date.Now.Day)。下面的例子展示如何訪問 Date 對象的某些屬性:
ตัวอย่าง
<table border="1"> <tr> <th width="100px">Name</th> <td width="100px">Value</td> </tr> <tr> <td>Day</td><td>@DateTime.Now.Day</td> </tr> <tr> <td>Hour</td><td>@DateTime.Now.Hour</td> </tr> <tr> <td>Minute</td><td>@DateTime.Now.Minute</td> </tr> <tr> <td>Second</td><td>@DateTime.Now.Second</td> </tr> </td> </table>
ปฏิบัติตัวอย่าง
If 和 Else 條件
動態網頁的重要特性是基於條件來確定執行的動作。
实现這一點的常用方法是使用 if ... else 語句:
ตัวอย่าง
@{ var txt = ""; if(DateTime.Now.Hour > 12) {txt = "Good Evening";} else {txt = "Good Morning";} } <html> <body> <p>The message is @txt</p> </body> </html>
ปฏิบัติตัวอย่าง
อ่านค่าฝายผู้ใช้
หนึ่งในคุณสมบัติสำคัญของเว็บไซต์ที่สร้างมาตรงกับการอ่านค่าฝายจากผู้ใช้
อ่านค่าฝายด้วยฟังก์ชัน Request[] และทดสอบโดยเงื่อนไข IsPost:
ตัวอย่าง
@{ var totalMessage = ""; if(IsPost) { var num1 = Request["text1"]; var num2 = Request["text2"]; var total = num1.AsInt() + num2.AsInt(); totalMessage = "Total = " + total; } } <html> <body style="background-color: beige; font-family: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">First Number:</label><br> <input type="text" name="text1" /></p> <p><label for="text2">Second Number:</label><br> <input type="text" name="text2" /></p> <p><input type="submit" value=" Add " /></p> </form> <p>@totalMessage</p> </body> </html>
ปฏิบัติตัวอย่าง
- หน้าก่อนหน้า เรื่องย่อของ Razor
- หน้าต่อไป ตัวแปร C# ใน Razor