16

クライアントアプリケーションはHTMLを生成する必要があります。Sparkのようなテンプレート/ビューエンジンソリューションを使用したいのですが、SparkをASP.NETアプリケーションの外部で使用できるかどうかわかりません。この方法でSparkを使用することに関するサンプルやドキュメントを知っている人はいますか?

(スタンドアロンで使用できる他のビューエンジンソリューションを知っている場合は、それらについても知りたいと思います。)

4

5 に答える 5

15

他の例に加えて、Sparkソース自体に単純な例を見つけました。Xparkプロジェクトは、Sparkを使用してXMLを変換するためのコマンドラインアプリケーションです。Sparkの作成者であるLouisDeJardinは、Xparkがどのように機能するかをブログで説明しました。

関連するコードスニペットは次のとおりです。

    // Create an engine using the templates path as the root location
    // as well as the shared location
    var engine = new SparkViewEngine
        {
             DefaultPageBaseType = typeof(SparkView).FullName,
             ViewFolder = viewFolder.Append(new SubViewFolder(viewFolder, "Shared"))
        };

    SparkView view;

    // compile and instantiate the template
    view = (SparkView)engine.CreateInstance(
                          new SparkViewDescriptor()
                              .AddTemplate(templateName));

    // render the view to stdout
    using (var writer = new StreamWriter(Console.OpenStandardOutput(), Encoding.UTF8))
    {
        view.RenderView(writer);
    }

これは私を正しい方向に向けさせるのに十分でした。しかし、私は間違いなく他の例にも飛び込みます。

于 2009-10-22T14:17:46.803 に答える
3

Docuを確認する必要があります。このプロジェクトは、Sparkビューエンジンを使用してHTMLドキュメントを生成します(ASP.NET Webアプリケーションからではありません)。

ただし、プロジェクトでSparkバージョン1.0が使用されているかどうかはわかりませんが、以前のビルドである可能性があります。

http://docu.jagregory.com/

http://github.com/jagregory/docu

于 2009-10-21T22:05:51.093 に答える
1

それが他の誰かを助けるなら、MVCプロジェクトの外でSparkエンジンを使用して同様のことを達成する必要がありました。
Sparkビューエンジンを使用して単純なテンプレート操作を実行するサンプル(非常に単純化された)C#プロジェクトを作成しました。誰かがそれを出発点として使用できるかもしれません/shrughttp://jezel.googlecode.com/files/SparkTemplateExample.zip


のテンプレートコードのほとんどは、Jonas GauffinのC#WebServerプロジェクトのレビューに基づいています。同様の方法。

于 2011-03-22T18:52:50.140 に答える
1

もちろん。おそらく最も完全な例は、ASP.NETMVC自体のSparkビューエンジンコードを確認することです。

また、テスト中であるため、テストを読むことで非常に良い出発点が得られるはずです。

于 2009-10-20T22:20:04.023 に答える
0

https://github.com/SparkViewEngine/spark/tree/master/src/Samples/DirectUsageの例を参照して ください

残念ながら、これらにはSystem.Web.Mvcが必要なようですが、これについては参照しません。

于 2015-07-02T15:39:31.660 に答える