在asp.net MVC中,控制器的依賴注入非常簡單直接。現在,我想通過使用助手來刪除視圖中的大部分邏輯。問題是這些助手使用了一些注入的對象。ASP.NET MVC依賴注入和幫助器
讓我寫一個例子:
public interface ISessionData
{
List<string> IdList {get;}
}
public MyController : Controller
{
public MyController(ISessionData sessionData)
{
...
}
}
會話數據注入到控制器。到現在爲止還挺好。但現在我有一個幫手。假設它看起來像這樣:
public class MyHelper
{
private readonly ISessionData sessionData;
public MyHelper(ISessionData sessionData)
{
this.sessionData = sessionData;
}
public bool CheckSomethingExistsInSession(string id)
{
return sessionData.IdList.Any(x => x.Id.Equals(id));
}
}
現在是什麼?我想MyHelper
被注入視圖。我唯一能看到的方式就是添加這個幫助器來建模並傳遞它以便每次查看。任何其他想法?