0

我有自己的 Razor 视图引擎实现,它允许我处理部分视图和视图“馈送”,以便我向客户端提供我的视图的本地化版本。

protected override IView CreateView用来覆盖视图选择过程并注入语言感知逻辑。

我也有protected override IView CreatePartialView,但是当我加载一个假设要渲染我的_Layout.cshtmlCreatePartialView 的视图时,并没有启动。

我需要重写 ViewEngine 的哪个方法以“捕获”_layout 页面呈现以执行语言感知替换?

4

1 回答 1

0

一种方法是通过设置 Layout 属性从特定语言的视图中指定特定语言的布局,如下所示:

@{
    Layout = "~/Views/Shared/_Layout.french.cshtml";
}

这仍然不是一个好方法,因为它破坏了依赖于视图引擎覆盖代码的整个“视图/语言”链接范式。

但它更灵活,因为它允许远离主视图命名约定。

于 2012-05-08T20:13:28.123 回答