如何从ServiceStack服务返回没有布局的视图结果
本文关键字:布局 视图 结果 返回 ServiceStack 服务 | 更新日期: 2023-09-27 18:02:49
我有一个ServiceStack
。定义必须返回HTML
标记但仅返回片段的方法的Service
实现。我试图只设置HttpResult
对象的View
属性,而不在Razor
视图中指定布局,也不设置结果的Template
属性——我希望只获得视图标记,但事实并非如此。
该视图源自ViewPage
。服务功能看起来是这样的。。。
public class SampleService : Service
{
public IHttpResult Get(GetSampleRequest request)
{
return new HttpResult
{
View = "SampleView"
};
}
}
问题是ServiceStack
试图找到一个默认布局(存在(并使用它。我该如何防止这种情况发生?在ASP.NET MVC中,我通常只返回Partial
扩展方法的结果;CCD_ 11中是否存在类似的东西?
您需要在Razor视图中将Layout
定义为空。
然而,将其设置为null
只是默认使用_Layout.cshtml
页面(或任何定义为默认值的页面(。
在Razor视图中,将Layout
设置为""
,如下所示:
@{
Layout = "";
}
您也可以设置Layout = string.Empty
。两者都具有相同的预期效果。
希望这能有所帮助!:(
您还可以设置一个不包含任何内容或仅包含注释的布局,以表明它是经过深思熟虑的"_LayoutEmpty.cshtml"
。这是一种设计选择,而不是一个空字符串名称。
在Razor视图中,添加
@{ Layout = null; }