如何在Asp.Net MVC帮助器方法中使用Simple Injector

时间:2017-02-03 14:17:27

标签: c# asp.net-mvc simple-injector

我在App_Code中有一个简单的Asp.net MVC辅助方法。

@helper ApprovedStatus(TimeWorkedEntry entry)
{
   if (!entry.Authorised)
   {
    var approvers =   <<get list of approvers from service here >>

    <a tabindex="0"
       role="button"
       class="exclamation"
       data-html="true"
       data-toggle="popover"
       data-trigger="focus"
       title="<b>Not yet approved</b>"
       data-content="@approvers">
        !
    </a>
}
}

我的服务通常由Simple Injector注入我的应用程序中的控制器。

我无法锻炼的是如何将我的服务实例注入到辅助方法中。我错过了什么?

1 个答案:

答案 0 :(得分:1)

你什么也没有遗漏。观点应该是愚蠢的,尤其不应该有任何逻辑或调用任何服务。这应该是控制器中的东西。

因此,在您的情况下,控制器应通过视图模型将批准者列表传递给视图。视图可以将此信息传递给辅助方法。

这使代码保持干净,简单和可测试。