Ada dua masalah di sini:
- Ya, Anda dapat menjalankan Razor View Engine di luar konteks domain aplikasi ASP.NET, seperti yang dijelaskan di blog Andrew: http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of -aspnet-direvisi-untuk-mvc3-rc.html
- Namun, Razor masih fokus utama pada pembuatan markup seperti xml (misalnya HTML) dalam arti bahwa Razor parser menggunakan keberadaan
<tags>
untuk menentukan transisi antara kode dan markup. Anda mungkin dapat menggunakannya untuk menghasilkan teks apa pun tetapi Anda mungkin mengalami masalah ketika output Anda tidak sesuai dengan asumsi Razor tentang apa niat Anda.
Jadi misalnya saat ini adalah kode Razor yang valid (karena <div>
tag):
@if(printHello) {
<div>Hello!</div>
}
Cuplikan berikut tidak valid (karena Hello! Masih diperlakukan sebagai kode):
@if(printHello) {
Hello!
}
Namun ada <text>
tag khusus yang dapat digunakan untuk memaksa transisi untuk blok multi-baris ( <text>
tag tidak akan dirender):
@if(printHello) {
<text>Hello!
Another line</text>
}
Ada juga sintaks yang lebih pendek untuk memaksa satu baris bertransisi menggunakan @:
:
@if(printHello) {
@:Hello!
}
<text>
tag ajaib atau menggunakannya@:
sesekali. Setelah dukungan editor VS keluar untuk sintaks Razor, akan sangat mudah untuk mengetahui kapan transisi terjadi.Periksa RazorEngine , ini adalah kerangka kerja kecil yang dibangun di atas Razor yang memungkinkan Anda melakukan ini.
sumber
Lihatlah perpustakaan RazorTemplates . Ini lebih ringan daripada pustaka RazorEngine, ini aman untuk utas dan memiliki antarmuka minimal yang sangat bagus.
Mengompilasi dan merender template sesederhana dua baris kode:
sumber
Baik RazorEngine dan RazorTemplates sudah disebutkan di sini, tetapi periksa RazorMachine . Anda cukup mengarahkan aplikasi non-MVC Anda ke folder ~ / Views dari aplikasi MVC (lain) yang ada, mengeksekusi dengan mengirimkan model yang tepat dan mendapatkan keluaran yang dirender pada 2 baris kode:
sumber
Buat kode atau teks: maksud Anda seperti Template T4: http://msdn.microsoft.com/en-us/library/bb126445.aspx atau alat pembuat kode?
sumber