我試圖在共享佈局視圖頁面中注入一個依賴項,以避免在使用佈局的每個視圖中都這樣做。Autofac可以將依賴關係注入到佈局視圖文件中嗎?
我已經按照Wiki中的guidance注入依賴到視圖中,但該屬性始終爲空。
Autofac可以將屬性注入到作爲佈局文件的自定義視圖頁面中嗎?
這是我的設置。 CustomViewPage
namespace MyApp
{
using System.Web.Mvc;
public abstract class CustomViewPage : WebViewPage
{
public IHelper Helper { get; set; }
}
}
〜/查看/共享/ _Layout.cshtml
@inherits MyApp.CustomViewPage
<!DOCTYPE html>
<html>
...
@if(this.Helper.HasFoo()){@Html.ActionLink("Bar")}
全球註冊...
builder.RegisterType<Helper>().AsImplementedInterfaces();
builder.RegisterModelBinderProvider();
builder.RegisterFilterProvider();
builder.RegisterModule(new AutofacWebTypesModule());
builder.RegisterSource(new ViewRegistrationSource());
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
使用佈局切勿從派生的 「子」 的看法CustomViewPage。
看來這是Autofac的[已知問題](http://code.google.com/p/autofac/issues/detail?id=349)... – nemesv 2012-07-21 16:01:33
是的問題在這裏http:// code .google.com/p/autofac/issues/detail?id = 349 – GraemeMiller 2013-01-29 11:24:34
這個答案適用於我作爲一個解決方法:http://stackoverflow.com/a/14935006/789683 – flipchart 2013-09-12 05:26:53