2

ASP.NET MVC の場合と同様に、Html.RenderAction を使用する必要があります。

たとえば、ニュースと製品がオンになっているホームページがあります。

例えばやりたい

@Html.RenderAction("/api/products/featured")

これにより、新しいサービス呼び出しが開始され、テンプレートが html ストリームに出力されます。

これは ServiceStack Razor を使用して可能ですか? もしそうなら、どうすれば達成できますか?

4

2 に答える 2

1

*回答が重複しているか、何らかの形で紛失した可能性があります

ServiceStack.Razor.ViewPage クラスを見ると、タイプ ServiceStack.Html.HtmlHelper の Html プロパティがあります。このクラスのメソッド (または拡張メソッド) として「RenderAction」が表示されないため、使用できないようです。ViewName を受け取る「Partial」メソッドと、ViewName とオブジェクトを受け取るオーバーロードがあります。上記のコメントに基づくと、これは有用な解決策ではないようです。

上記について私が正しければ、データを取り込むために「Featured View Template」が必要になると思います。次のようなものを追加できます

    { FeaturedResponse products = new JsonServiceClient("http://localhost").Get<FeaturedResponse>("/api/products/featured"); }

あなたのテンプレートに。これにより、products 変数をモデルのように使用できるようになります。

または、JavaScript を使用してデータをテンプレートに取り込みます。ただし、データを HTML 要素に取り込むには JavaScript を使用する必要があります。

@Html.Partial('Featured') を使用してテンプレートをレンダリングできます。

お役に立てれば。

于 2013-02-22T20:59:51.673 に答える