ServiceStack.Razor与PartialViewResult相当吗?

时间:2014-03-14 00:21:38

标签: servicestack partials servicestack-razor

有没有办法在ServiceStack.Razor中返回ASP.NET MVC等效的PartialViewResult(独立部分)?

在我的服务中,我想将响应DTO作为渲染的Partial返回,而不是完整的View;再次,我只需要为此服务提供一些呈现的HTML代码段。

用例是对服务进行AJAX调用,然后让服务返回呈现的部分。

在我的一个观点中,我只是尝试了以下内容,但它仍然返回完整的HTML标记,而不仅仅是小代码段。

在travel.cshtml里面......

@model TravelScenarioResponse

@Model.Name

1 个答案:

答案 0 :(得分:1)

您可以指定不使用@layout ""的任何布局,例如:

@layout ""
@model TravelScenarioResponse

@Model.Name

否则,如果您希望同一视图与多个布局一起使用,并且作为局部视图,您可以添加仅包含的Views/Empty.cshtml

@RenderBody()

在任何View/Template overrides documented in EmailContacts中使用该布局。例如。您可以使用[ClientCanSwapTemplates]属性修饰您的服务或操作,例如:

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

然后客户端可以指定他们想要提供服务的视图,因此您可以通过在查询字符串上指定?Template=Empty来查看部分视图,例如: