我在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注入我的应用程序中的控制器。
我无法锻炼的是如何将我的服务实例注入到辅助方法中。我错过了什么?
答案 0 :(得分:1)
你什么也没有遗漏。观点应该是愚蠢的,尤其不应该有任何逻辑或调用任何服务。这应该是控制器中的东西。
因此,在您的情况下,控制器应通过视图模型将批准者列表传递给视图。视图可以将此信息传递给辅助方法。
这使代码保持干净,简单和可测试。