2009-05-27 19 views
2

コンソール/ winformジョブとして静的なhtmlファイルをたくさん作成する必要があります。現在のソリューションは文字列ビルダーを使用しています。厳密に型指定されたビューページ(System.Web.Mvc.ViewPage)でASP.NET MVCを使用した場合、これらのビューページを活用してASP.NETソリューションを構築せずにストリームまたはファイルに出力できるかどうかは疑問でした。ASP.NET(MVC) - ページをファイルにレンダリングする

基本的に私はビューページを作成し、強く型付けされたオブジェクトを渡して結果をレンダリングしたいと思います。

他のビューエンジンにも公開されています。

この場合、キッチンシンク全体の引き継ぎが必要になる場合は、文字列ビルダーのスタイルを使用できます。

ありがとうございました。

+0

私は完全に質問を理解してわからない、なぜあなたはXSLTish解決に向けてより多くのを見て、あなたのWinフォーム/コンソールジョブがレンダリングを行う方法については柔軟性がないのですか? – Perpetualcoder

+0

多分これを見ますか? http://www.codeproject.com/KB/XML/XML_to_HTML_Convertor.aspx – Perpetualcoder

+0

Yah ....私はそれを知っているので、私はASP ViewPageを使いたいと思うし、デザイナーはhtmlに役立つ。しかし、その2つの理由は少し弱いようです:) – anonymous

答えて

2

テンプレートエンジンが必要です。私はあなたをお勧めしますStringTemplate。それはスタンドアロンエンジンとして使用することができ、それは.NETのバージョンがあります。 CodeProject articleが用意されています。

AFAIK ASP.NET Webフォームは、ASP.NETインフラストラクチャなしでは実行できません。

+0

http://stackoverflow.com/questions/2394724/can-i-run-a-aspx-and-grep-the-result-without-making-http-requestを参照してください。 – DuckMaestro

5

質問に不明な点がある場合は、こちらをご覧ください。

 
[ControllerAction] 
public void About() 
{ 
    StringWriter builder = new StringWriter(); 
    TextWriter originalWriter = Response.Output; 
    Response.SwitchWriter(builder); 
    RenderView("About"); 

    string html = builder.ToString(); 

    originalWriter.Write(html); 
} 
+0

申し訳ありませんが、私は非常に明確ではありませんでした。私はどのようにそれをフレーズするか分からなかった。私は実際のウェブサイトを構築したくありません...私はちょうどコンソールアプリケーションがHTMLファイルを吐き出すようにしたいです。私は、これらのhtmlファイルを作成するためのテンプレートとして、ASP.NET ViewPage(特にMvcを強く型付けしたもの)を使用することを望んでいました。 – anonymous

+0

私はあなたの解決策が好きです...それは他のものを知ることは良いです:) +1! – anonymous

3

私は個人的には上記のStringTemplateオプションが好きですが、実際にはデスクトップアプリケーションでASP.NETランタイムをホストすることができます。 West Wind Technologies

リックシュトラールの上にそれを設定する方法の詳細な例があります: - ナットとボルト

関連する問題