มีสองประเด็นที่นี่:
- ได้คุณสามารถเรียกใช้ Razor View Engine นอกบริบทของโดเมนแอป ASP.NET ตามที่อธิบายไว้ในบล็อกของ Andrew: http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of -aspnet แก้ไขสำหรับ mvc3-rc.html
- อย่างไรก็ตาม Razor ยังคงมุ่งเน้นไปที่การสร้างมาร์กอัปแบบ xml (เช่น HTML) เป็นหลักในแง่ที่ Razor parser ใช้การมีอยู่ของ
<tags>
เพื่อกำหนดการเปลี่ยนระหว่างโค้ดและมาร์กอัป คุณอาจใช้เพื่อสร้างข้อความใด ๆ ก็ได้ แต่คุณอาจประสบปัญหาเมื่อผลลัพธ์ของคุณไม่ตรงกับสมมติฐานของ Razor เกี่ยวกับความตั้งใจของคุณ
ตัวอย่างเช่นแม้ว่านี่จะเป็นรหัสมีดโกนที่ถูกต้อง (เนื่องจาก<div>
แท็ก):
@if(printHello) {
<div>Hello!</div>
}
ข้อมูลโค้ดต่อไปนี้ไม่ถูกต้อง (เนื่องจาก Hello! ยังคงถูกถือว่าเป็นโค้ด):
@if(printHello) {
Hello!
}
อย่างไรก็ตามมี<text>
แท็กพิเศษที่สามารถใช้เพื่อบังคับให้มีการเปลี่ยนแปลงสำหรับบล็อกหลายบรรทัด ( <text>
แท็กจะไม่แสดงผล):
@if(printHello) {
<text>Hello!
Another line</text>
}
นอกจากนี้ยังมีไวยากรณ์ที่สั้นกว่าเพื่อบังคับให้บรรทัดเดียวเปลี่ยนโดยใช้@:
:
@if(printHello) {
@:Hello!
}