Burada iki konu var:
- Evet, Andrew'un blogunda açıklandığı gibi Razor View Engine'i ASP.NET uygulama etki alanının bağlamı dışında çalıştırabilirsiniz: http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of -aspnet-revize-for-mvc3-rc.html
- Bununla birlikte, Razor, Razor ayrıştırıcısının
<tags>
kod ve biçimlendirme arasındaki geçişi belirlemek için varlığını kullanması anlamında, hala öncelikle xml benzeri işaretleme (örneğin, HTML) oluşturmaya odaklanmıştır . Muhtemelen herhangi bir metin oluşturmak için kullanabilirsiniz, ancak çıktınız Razor'un niyetlerinizle ilgili varsayımlarıyla eşleşmediğinde sorunlarla karşılaşabilirsiniz.
Örneğin, bu geçerli Razor kodu iken ( <div>
etiketi nedeniyle ):
@if(printHello) {
<div>Hello!</div>
}
Aşağıdaki kod parçası geçersiz (çünkü Merhaba! Hâlâ kod olarak değerlendiriliyor):
@if(printHello) {
Hello!
}
Bununla birlikte <text>
, çok satırlı bloklar için bir geçişi zorlamak için kullanılabilecek özel bir etiket vardır ( <text>
etiket oluşturulmayacaktır):
@if(printHello) {
<text>Hello!
Another line</text>
}
Aşağıdakileri kullanarak tek bir satırı geçişe zorlamak için daha kısa bir sözdizimi de vardır @:
:
@if(printHello) {
@:Hello!
}