ServiceStack 的Razor Rockstars 网站包含 ServiceStack 中 Razor 支持的文档,列出了一些用于选择不同模板的选项:
如果它不遵循约定(即请求或响应 DTO 名称),那么您可以通过返回HttpResult
如下装饰来动态指定使用哪个视图或布局模板:
return new HttpResult(dto) {
View = {viewName},
Template = {layoutName},
};
如果您使用的是静态视图(即服务始终使用相同的视图),那么您可以通过使用[DefaultView]
属性来指定要使用的视图
[DefaultView("Rockstars")]
public object Get(Rockstars request) {
...
return responseDto;
}
在任何一种情况下,如果你想要它是强类型的,你可以使用类似typeof(RequestDto).Name
.
视图名称必须是唯一的
与 MVC 不同,heirachy's 不会影响 ServiceStack 中的视图选择,并且因为每个视图页面(即/Views
文件夹中的剃须刀页面)必须是唯一的,所以您可以自由地将它们布置在您希望的任何平面或嵌套文件夹结构中。