ServiceStack.Razor PartialViewResult эквивалент?
Есть ли способ вернуть ASP.NET MVC эквивалент PartialViewResult (автономное частичное) в ServiceStack.Razor?
В моем сервисе я хотел бы вернуть ответное DTO как обработанное частичное, а не полное представление; опять же, мне просто нужны некоторые отрендеренные фрагменты HTML для этого сервиса.
Вариант использования - сделать AJAX-вызов сервисом, а затем вернуть сервису обработанный фрагмент.
В одном из моих представлений я только что попробовал следующее, но он по-прежнему возвращает полную разметку HTML, а не только небольшой фрагмент.
внутри travel.cshtml...
@model TravelScenarioResponse
@Model.Name
1 ответ
Вы можете указать, чтобы не использовать макет с @layout ""
Например:
@layout ""
@model TravelScenarioResponse
@Model.Name
В противном случае, если вы хотите, чтобы одно и то же представление использовалось с несколькими макетами и как частичное, вы можете добавить Views / Empty.cshtml, который просто содержит:
@RenderBody()
И используйте этот макет в любом переопределении View / Template, задокументированном в EmailContacts. Например, вы можете украсить свой Сервис или действие [ClientCanSwapTemplates]
атрибут, например:
[ClientCanSwapTemplates]
public class MyService : Service { ... }
И тогда клиент может указать, с каким видом он хочет предоставлять сервис, так что вы можете просмотреть частичное, указав ?Template=Empty
в строке запроса, например: