Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在HtmlHelper中访问ninject依赖项_Asp.net Mvc_Ninject_Html Helper - Fatal编程技术网

Asp.net mvc 如何在HtmlHelper中访问ninject依赖项

Asp.net mvc 如何在HtmlHelper中访问ninject依赖项,asp.net-mvc,ninject,html-helper,Asp.net Mvc,Ninject,Html Helper,我的MVC应用程序已由Ninject处理DI 我想写一个HtmlHelper,它可以使用Ninject维护的依赖项 我有一个用于翻译的自定义资源管理器,我想使用HtmlHelper将翻译后的字符串写入Javascript变量。由于帮助程序是静态的,所以您没有构造函数注入的选项。我肯定有一些变通方法,比如使用服务定位器(一种反模式),但我质疑您为什么要这样做——这与MVC的关注点分离背道而驰。为什么不直接在控制器中获取数据,然后将数据作为参数传递给帮助器?这与将SelectList传递给DropD

我的MVC应用程序已由Ninject处理DI 我想写一个HtmlHelper,它可以使用Ninject维护的依赖项


我有一个用于翻译的自定义资源管理器,我想使用HtmlHelper将翻译后的字符串写入Javascript变量。

由于帮助程序是静态的,所以您没有构造函数注入的选项。我肯定有一些变通方法,比如使用服务定位器(一种反模式),但我质疑您为什么要这样做——这与MVC的关注点分离背道而驰。为什么不直接在控制器中获取数据,然后将数据作为参数传递给帮助器?这与将
SelectList
传递给
DropDownistFor()
helper@StephenMuecke:这是ajax调用期间的“请等待消息”,因此,我最终会在每个控制器中提供此信息。我不想重复,所以想得到一个HtmlHelper,它可以在_Layout.cshtml中调用并提供给JS框架,从那时起!我认为还有更好的办法。例如,可以全局应用或仅应用于特定方法的自定义ActionFilter。您可以将其注入构造函数,并为实例设置一个ViewBag属性,该属性可以在_布局中读取