私は単純な剃刀ファイル_modelTemplate.cshtmlとpocoクラスモデルを持っています。 モデルを_modelTemplate.cshtmlに渡してHTML文字列をレンダリングできるようにしたい剃刀ファイルとpocoクラスの文字列としてのHTMLのレンダリング
理由:私は従来のWebFormsアプリケーションで作業しています。実際には、テンプレートエンジンとしてrazorを使用して生成しますWebFormsサーバーコントロールやポストバックを必要としない特定のセクションのHTMLをクリーンアップします。
RazorファイルにはMVCヘルパーは必要ありません。単純なテンプレートとバインディングのモデルです。私はひげを使ってHTMLを生成し、そのレンダリングした文字列をWebFormの.aspxページのリテラルの.Textプロパティにバインドすることができたと考えました。
私のような何かを考えている:
Lit1.Text = RenderRazorTemplateAsString(razorFilePath, model);
これを行う方法はありますが、または私は何かを構築しなければならないでしょうか?
controller.ViewData.Model = model; string result = string.Empty; (StringWriter writer = new StringWriter()) を使用しています。 ViewContext =新しいViewContext(controller.ControllerContext、viewResult.View、controller.ViewData、controller.TempData、writer); viewResult.View.Render(viewContext、writer); result = writer.ToString(); } – Nathan
か、単にHtml.Raw()を使用しますか? – Nathan
ありがとうございますが、私はあなたが何を得ているのか分かりません。これはMVCプロジェクトではなくWebFormsです。私はちょうどpocoモデルとテンプレートからhtmlをレンダリングする必要があります。私はMVCのないエンジンとしてRazorを使いたいだけです。だから、私は、System.Web.RazorとSystem.Web.WebPagesの参照を必要に応じて追加するだけだと思っています。 –