“Lazy"Razor执行- ASP.净(优化)

本文关键字:ASP 优化 执行 Lazy quot Razor | 更新日期: 2023-09-27 18:11:06

我们编写了razor扩展方法,以便在vbhtml视图中使用它来翻译静态,非列表,非生成元素,即标题,静态导航元素等:

<h1>@Html.GetTagText("aaa"(real string), cultureCode, translationContext)</h1>

有了这个想法,我们生成X调用DB,每次我们调用这个方法。

问题:在转换之前和转换之后,Razor Engine是否会触发任何事件,或者ASP中的某个入口点?. NET页面生命周期(预渲染,后渲染),这将允许我们:

  1. 收集所有的getTagText调用到列表
  2. 完成剩余的剃刀工作
  3. 在一次DB拍摄中返回所有翻译
  4. 将正确的翻译放到正确的位置

或者也许我想错了,剃刀不是施展那种"魔法"的好地方?我需要一般的想法,我会写一次,不要在每个控制器中复制这个。

“Lazy"Razor执行- ASP.净(优化)

我建议您在控制器中处理这种工作。创建一个视图模型,您可以在其中放置需要翻译的字段的翻译文本,并在控制器中填充视图模型。

我不认为有任何事件引发的MVC视图。我试过钩入这些类型的事件来测量页面呈现时间,但没有找到任何这样的钩子。