我们在vbhtml视图中编写了razor扩展方法,用于翻译静态,非列表,非生成元素,即标题,静态导航元素等:
<h1>@Html.GetTagText("aaa"(real string), cultureCode, translationContext)</h1>
有了这个想法,我们每次调用这个方法时都会生成对DB的X调用。
问题:Razor Engine在转换和After转换之前是否引发了任何事件,或者是ASP.NET页面生命周期中的某些入口点(预渲染,后渲染),这将允许我们:
或者我认为完全错了,剃刀不是做那种“魔术”的好地方?我需要通用的想法,我会写一次,不要在每个控制器中重现这一点。
答案 0 :(得分:3)
我建议你在你的控制器中处理这种工作。创建一个视图模型,您可以在其中放置需要翻译的字段的翻译文本,并在控制器中填充视图模型。
我认为MVC视图没有引发任何事件。我试图勾住这些类型的事件来测量页面呈现时间,但找不到任何这样的钩子。