asp.net-mvc - 如何从 helper/service 访问 ViewContext,通过 ViewImports @injected

标签 asp.net-mvc asp.net-core-mvc

我正在编写帮助程序类并注入(inject)到 _ViewImports

@inject HtmlHelperInject.TestHelper TestHelper

并在 Startup.ConfigureServices 中注册

services.AddTransient<TestHelper>();

如何在此帮助程序类中获取ViewContext?我尝试通过 Controller 注入(inject) - 不起作用,通过属性上的 [ViewContext] 属性注入(inject) - 不起作用。

最佳答案

从现在(beta8)开始,执行此操作的方法是实现...等待...ICanHasViewContext。该接口(interface)添加了以下约定:

void Contextualize(ViewContext viewContext);

注入(inject)自定义实用程序时,MVC 调用 Contextualize 并传入当前的 ViewContext。注意:此机制很可能在未来版本中发生变化。如果没有,这个名字肯定会:)

希望这有帮助!

关于asp.net-mvc - 如何从 helper/service 访问 ViewContext,通过 ViewImports @injected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32892264/

相关文章:

c# - 即使没有 [Authorize] 属性也会调用 HandleAuthenticateAsync

asp.net - 如何在 ASP.net MVC 4 中将文本流式传输到浏览器?

javascript - 将 PDF 文件列表打印到客户的打印机

c# - 有效电子邮件地址的 DataAnnotations

c# - Mongodb 数据存储的 asp.net 核心中基于简单 token 的身份验证/授权

json - 如何在 ASP.NET 5.0 中为 log4net(或任何其他第三方库)添加配置

jquery - ASP.Net Ajax : How to stay on the same page without loosing dynamically added controls?

c# - 配置 Simple Injector 以注入(inject)当前经过身份验证的用户

jquery - 使用 MVC 4/Razor 自动完成

c# - 我应该在 ASP.NET core 中的 ClaimsIdentity 中存储一个小图片头像吗?如果没有,最好的方法是什么?