gpt4 book ai didi

c# - "Lazy"MVC5 Razor 执行 - ASP.NET(优化)

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:35 24 4
gpt4 key购买 nike

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

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

有了这个想法,我们每次调用此方法时都会生成对数据库的 X 次调用。

问题:Razor 引擎是否在转换之前和转换之后引发任何事件,或者 ASP.NET 页面生命周期(渲染前、渲染后)中的某种入口点,这将使我们能够:

  1. 收集所有 getTagText 调用列表
  2. 做剩下的剃须工作
  3. 在一次 DB 拍摄中返回所有翻译
  4. 将正确的翻译放入/替换到正确的位置

或者也许我的想法完全错误, Razor 不是施展这种“魔法”的好地方?我需要通用的想法,我会写一次,不要在每个 Controller 中重现它。

最佳答案

我建议您在 Controller 中处理此类工作。创建一个 View 模型,您可以在其中放置需要翻译的字段的翻译文本,并在 Controller 中填充 View 模型。

我认为 MVC View 不会引发任何事件。我试图 Hook 这些类型的事件以测量页面呈现时间,但找不到任何此类 Hook 。

关于c# - "Lazy"MVC5 Razor 执行 - ASP.NET(优化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32378345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com