Có hai vấn đề ở đây:
- Có, bạn có thể chạy Razor View Engine bên ngoài ngữ cảnh của miền ứng dụng ASP.NET, như được giải thích trong blog của Andrew: http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of -aspnet-repair-for-mvc3-rc.html
- Tuy nhiên, Razor vẫn chủ yếu tập trung vào việc tạo ra đánh dấu giống xml (ví dụ: HTML) theo nghĩa là trình phân tích cú pháp Razor sử dụng sự hiện diện của
<tags>
để xác định sự chuyển đổi giữa mã và đánh dấu. Bạn có thể sử dụng nó để tạo bất kỳ văn bản nào nhưng bạn có thể gặp sự cố khi đầu ra của bạn không khớp với giả định của Razor về ý định của bạn.
Vì vậy, ví dụ trong khi đây là mã Razor hợp lệ (vì <div>
thẻ):
@if(printHello) {
<div>Hello!</div>
}
Đoạn mã sau không hợp lệ (vì Hello! Vẫn đang được coi là mã):
@if(printHello) {
Hello!
}
Tuy nhiên, có một <text>
thẻ đặc biệt có thể được sử dụng để buộc chuyển đổi cho các khối nhiều dòng ( <text>
thẻ sẽ không được hiển thị):
@if(printHello) {
<text>Hello!
Another line</text>
}
Ngoài ra còn có một cú pháp ngắn hơn để buộc một dòng chuyển tiếp bằng cách sử dụng @:
:
@if(printHello) {
@:Hello!
}