Web フォーム Web アプリケーションでRazor エンジン ( razorengine.codeplex.com ) を使用することは可能ですか? ファイルを使用してテンプレートを定義しています。
サンプル.cshtml
<h1>Hello</h1>
または sample2.cshtml (インテリセンスを有効にするための継承あり)
@inherits SomeBaseClass<SomeModelClass>
<h1>Hello @Model.SomeProperty</h1>
アプリケーションの開始時に、テンプレートをコンパイルします。
//get files and loop
RazorEngine.Razor.Compile(templateString, razorPath);
ユーザー コントロールのコード ビハインドで、テンプレートをロード/解析します。
RazorEngine.Razor.Run<SomeModelClass>(model, razorPath);
問題:
Sample.cshtml では、次の例外が発生します。
タイプ 'ASP._Page_razor_Sample_cshtml' は 'System.Web.UI.UserControl' から継承されません。
Sample2.cshtml は、次の例外を提供します (例外が発生するコードは、コンパイルされた cshtml ソースから抽出された以下のコードです...):
CS0103: 'Context' という名前は現在のコンテキストに存在しません
Line 37: protected ASP.global_asax ApplicationInstance {
Line 38: get {
Line 39: return ((ASP.global_asax)(Context.ApplicationInstance));
Line 40: }
Line 41: }
この方法で Razor エンジンを使用することは可能ですか?