1

ServiceStack.Razor の PartialViewResult (スタンドアロン パーシャル) に相当する ASP.NET MVC を返す方法はありますか?

私のサービスでは、完全なビューではなく、レンダリングされたパーシャルとして応答 DTO を返したいと考えています。繰り返しますが、このサービス用にレンダリングされた HTML スニペットが必要なだけです。

使用例は、サービスへの AJAX 呼び出しを行い、サービスがレンダリングされたパーシャルを返すようにすることです。

私のビューの 1 つで、次のことを試してみましたが、小さなスニペットだけでなく、完全な HTML マークアップが返されます。

travel.cshtml内...

@model TravelScenarioResponse

@Model.Name
4

1 に答える 1

1

レイアウトを使用しないように指定できます@layout ""。例:

@layout ""
@model TravelScenarioResponse

@Model.Name

それ以外の場合、同じビューを複数のレイアウトで使用し、パーシャルとして使用する場合は、次を含むViews/Empty.cshtmlを追加できます。

@RenderBody()

そして、 EmailContacts に記載されているビュー/テンプレートの上書きのいずれかでそのレイアウトを使用します。[ClientCanSwapTemplates]たとえば、サービスまたはアクションを属性で装飾できます。

[ClientCanSwapTemplates]
public class MyService : Service { ... }

?Template=Empty次に、クライアントはサービスを提供するビューを指定できるため、クエリ文字列で次のように指定してパーシャルを表示できます。

于 2014-03-14T04:00:33.393 に答える