Razor สนับสนุนทั้ง C # (C sharp) และ VB (Visual Basic)
หลัก Razor กฎไวยากรณ์สำหรับ C #
- Razor บล็อกรหัสจะถูกปิดล้อมอยู่ใน @ { ... }
- การแสดงออก Inline (variables and functions) เริ่มต้นด้วย @
- จบงบรหัสด้วยเครื่องหมายอัฒภาค
- ตัวแปรที่มีการประกาศกับคำวา
- สตริงจะอยู่ในเครื่องหมายคำพูด
- รหัส C # เป็นกรณีที่สำคัญ
- C # ไฟล์มีนามสกุลเป็น .cshtml
C # ตัวอย่าง
<!-- Single statement block -->
@{ var myMessage = "Hello World"; }
<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage </p>
<!-- Multi-statement block -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
}
<p>The greeting is: @greetingMessage </p>
ตัวอย่างเช่นเรียกใช้» หลัก Razor กฎไวยากรณ์สำหรับ VB
- Razor บล็อกรหัสจะถูกปิดล้อมอยู่ใน @Code ... รหัส End
- การแสดงออก Inline (variables and functions) เริ่มต้นด้วย @
- ตัวแปรที่มีการประกาศกับคำหลักติ่ม
- สตริงจะอยู่ในเครื่องหมายคำพูด
- รหัส VB ไม่สำคัญ case
- ไฟล์ VB มีนามสกุลเป็น .vbhtml
ตัวอย่าง
<!-- Single statement block -->
@Code dim myMessage = "Hello World" End Code
<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage </p>
<!-- Multi-statement block -->
@Code
dim greeting = "Welcome to our site!"
dim weekDay = DateTime.Now.DayOfWeek
dim greetingMessage = greeting & " Here in Huston it is: " & weekDay
End Code
<p>The greeting is: @greetingMessage </p>
ตัวอย่างเช่นเรียกใช้» ทำงานอย่างไรหรือไม่?
Razor เป็นไวยากรณ์การเขียนโปรแกรมที่ง่ายสำหรับการฝังโค้ดเซิร์ฟเวอร์ในหน้าเว็บ
Razor ไวยากรณ์จะขึ้นอยู่กับกรอบ ASP.NET เป็นส่วนหนึ่งของกรอบ Microsoft.NET ที่ออกแบบมาเฉพาะสำหรับการสร้างการใช้งานเว็บ
Razor ไวยากรณ์ทำให้คุณมีอำนาจทั้งหมดของ ASP.NET แต่ใช้ไวยากรณ์ที่เรียบง่ายที่ง่ายต่อการเรียนรู้ถ้าคุณจะเริ่มต้นและทำให้คุณมีประสิทธิผลมากขึ้นถ้าคุณกำลังมีความเชี่ยวชาญ
Razor หน้าเว็บสามารถอธิบายเป็นหน้าเว็บ HTML ที่มีสองชนิดของเนื้อหา: เนื้อหา HTML และ Razor รหัส
เมื่อเซิร์ฟเวอร์อ่านหน้าก็วิ่ง Razor รหัสแรกก่อนที่จะส่งหน้า HTML เบราว์เซอร์ รหัสที่จะดำเนินการบนเซิร์ฟเวอร์สามารถดำเนินการที่ไม่สามารถทำได้ในเบราว์เซอร์เช่นการเข้าถึงฐานข้อมูลเซิร์ฟเวอร์ รหัสเซิร์ฟเวอร์สามารถสร้างเนื้อหา HTML แบบไดนามิกในทันทีก่อนที่มันจะถูกส่งไปยังเบราว์เซอร์ เห็นได้จากเบราว์เซอร์, HTML ที่สร้างขึ้นโดยรหัสเซิร์ฟเวอร์ไม่แตกต่างจากเนื้อหา HTML แบบคงที่
หน้าเว็บ ASP.NET ด้วย Razor ไวยากรณ์มี cshtml นามสกุลไฟล์พิเศษ ( Razor using C#) หรือ vbhtml ( Razor using VB)
การทำงานกับวัตถุ
เซิร์ฟเวอร์รหัสมักจะเกี่ยวข้องกับวัตถุ
"DateTime" วัตถุที่เป็นปกติในตัววัตถุ ASP.NET แต่วัตถุยังสามารถกำหนดเอง, หน้าเว็บ, กล่องข้อความ, ไฟล์บันทึกฐานข้อมูล ฯลฯ
วัตถุที่อาจจะมีวิธีการที่พวกเขาสามารถดำเนินการ บันทึกฐานข้อมูลอาจมี "Save" วิธีวัตถุภาพอาจมี "Rotate" วิธีวัตถุอีเมลอาจจะมี "Send" วิธีการและอื่น ๆ
วัตถุที่ยังมีคุณสมบัติที่อธิบายถึงลักษณะของพวกเขา บันทึกฐานข้อมูลอาจมี FirstName และทรัพย์สินนามสกุล (amongst others) )
วัตถุ ASP.NET DateTime มีตอนนี้สถานที่ให้บริการ (written as DateTime.Now) และตอนนี้มีคุณสมบัติคุณสมบัติวัน (written as DateTime.Now.Day) ตัวอย่างด้านล่างนี้จะแสดงวิธีการเข้าถึงคุณสมบัติของวัตถุ DateTime บาง:
ตัวอย่าง
<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>
ตัวอย่างเช่นเรียกใช้» หากเงื่อนไขและอื่น ๆ
คุณลักษณะที่สำคัญของหน้าเว็บแบบไดนามิกคือการที่คุณสามารถกำหนดสิ่งที่ต้องทำตามเงื่อนไข
วิธีที่ใช้กันจะทำนี้ด้วย ... ถ้างบอื่น:
ตัวอย่าง
@{
var txt = "";
if(DateTime.Now.Hour > 12)
{txt = "Good Evening";}
else
{txt = "Good Morning";}
}
<html>
<body>
<p>The message is @txt </p>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» อ่านผู้ใช้ป้อน
อีกคุณสมบัติที่สำคัญของหน้าเว็บแบบไดนามิกคือการที่คุณสามารถอ่านเข้าของผู้ใช้
การป้อนข้อมูลจะถูกอ่านโดยการร้องขอ [] ฟังก์ชั่นและการโพสต์ (input) มีการทดสอบโดยสภาพ 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>
ตัวอย่างเช่นเรียกใช้»