ASP.NET Razor - Cú pháp mã C # và VB
Razor hỗ trợ cả C # (C sharp) và VB (Visual Basic).
Quy tắc cú pháp dao cạo chính cho C #
- Các khối mã dao cạo được bao bọc trong @ {...}
- Biểu thức nội tuyến (biến và hàm) bắt đầu bằng @
- Câu lệnh mã kết thúc bằng dấu chấm phẩy
- Các biến được khai báo với từ khóa var
- Các chuỗi được đặt trong dấu ngoặc kép
- Mã C # phân biệt chữ hoa chữ thường
- Các tệp C # có phần mở rộng là .cshtml
Ví dụ 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>
Quy tắc cú pháp dao cạo chính cho VB
- Các khối mã dao cạo được bao trong @Code ... End Code
- Biểu thức nội tuyến (biến và hàm) bắt đầu bằng @
- Các biến được khai báo với từ khóa Dim
- Các chuỗi được đặt trong dấu ngoặc kép
- Mã VB không phân biệt chữ hoa chữ thường
- Tệp VB có phần mở rộng .vbhtml
Thí dụ
<!-- 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>
Làm thế nào nó hoạt động?
Razor là một cú pháp lập trình đơn giản để nhúng mã máy chủ vào các trang web.
Cú pháp dao cạo dựa trên khung ASP.NET, một phần của Microsoft.NET Framework được thiết kế đặc biệt để tạo các ứng dụng web.
Cú pháp Razor cung cấp cho bạn tất cả sức mạnh của ASP.NET, nhưng đang sử dụng một cú pháp đơn giản dễ học hơn nếu bạn là người mới bắt đầu và giúp bạn làm việc hiệu quả hơn nếu bạn là một chuyên gia.
Các trang web Razor có thể được mô tả là các trang HTML với hai loại nội dung: nội dung HTML và mã Razor.
Khi máy chủ đọc trang, nó sẽ chạy mã Razor trước, trước khi gửi trang HTML tới trình duyệt. Mã được thực thi trên máy chủ có thể thực hiện các tác vụ không thể thực hiện được trong trình duyệt, ví dụ truy cập cơ sở dữ liệu máy chủ. Mã máy chủ có thể tạo nội dung HTML động một cách nhanh chóng, trước khi nó được gửi đến trình duyệt. Nhìn từ trình duyệt, HTML được tạo bởi mã máy chủ không khác gì so với nội dung HTML tĩnh.
Các trang web ASP.NET với cú pháp Razor có phần mở rộng tệp đặc biệt là cshtml (Razor sử dụng C #) hoặc vbhtml (Razor sử dụng VB).
Làm việc với các đối tượng
Mã hóa máy chủ thường liên quan đến các đối tượng.
Đối tượng "DateTime" là một đối tượng ASP.NET tích hợp sẵn điển hình, nhưng các đối tượng cũng có thể được tự định nghĩa, một trang web, hộp văn bản, tệp, bản ghi cơ sở dữ liệu, v.v.
Đối tượng có thể có các phương thức mà chúng có thể thực hiện. Bản ghi cơ sở dữ liệu có thể có phương thức "Lưu", đối tượng hình ảnh có thể có phương thức "Xoay", đối tượng email có thể có phương thức "Gửi", v.v.
Các đối tượng cũng có các thuộc tính mô tả đặc điểm của chúng. Bản ghi cơ sở dữ liệu có thể có thuộc tính FirstName và LastName (trong số các thuộc tính khác).
Đối tượng ASP.NET DateTime có thuộc tính Now (được viết là DateTime.Now) và thuộc tính Now có thuộc tính Day (được viết là DateTime.Now.Day). Ví dụ dưới đây cho thấy cách truy cập một số thuộc tính của đối tượng DateTime:
Thí dụ
<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>
Nếu và các điều kiện khác
Một tính năng quan trọng của các trang web động là bạn có thể xác định những việc cần làm dựa trên các điều kiện.
Cách phổ biến để làm điều này là với các câu lệnh if ... else:
Thí dụ
@{
var txt = "";
if(DateTime.Now.Hour > 12)
{txt = "Good Evening";}
else
{txt = "Good Morning";}
}
<html>
<body>
<p>The message is @txt</p>
</body>
</html>
Đọc đầu vào của người dùng
Một tính năng quan trọng khác của các trang web động là bạn có thể đọc thông tin đầu vào của người dùng.
Đầu vào được đọc bởi chức năng Yêu cầu [] và đăng (đầu vào) được kiểm tra bởi điều kiện IsPost:
Thí dụ
@{
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>