Ich verwende stark typisierte Ansichten und autofac für Dependency Injection unter ASP.NET MVC2 und ich versuche, eine gemeinsame dynamische Kopfzeile über Dependency Injection zu erhalten. D.h. ich möchte, dass dies geschieht, ohne dass die Ansicht weg von diesem Inhalt sogar vorhanden sein und ich hoffte, statische Entdeckung des Containers und manuelle Auflösung zu vermeiden, aber ich kann nicht finden, eine Möglichkeit, leicht zu injizieren, den Master oder eine teilweise Ansicht in den Master über entweder ctor oder Eigenschaft Injektion enthalten.
Ich kann mir nicht vorstellen, dass dies eine ungewöhnliche Aufgabe ist, aber alles, was ich in Bezug auf Methoden finden kann, ist die Unterklassifizierung von Controllern, um Daten in untypisierte ViewData zu stopfen, die Unterklassifizierung von ViewModels, um Stammdaten in das Modell zu stopfen, oder die statische Auflösung, die ich alle lieber nicht verwenden würde. Was habe ich übersehen?
EDIT : Wie bereits gesagt wurde, ist DI in Masterseiten ein Kampf gegen den Rahmen. Meine Frage ist also schlecht formuliert: Ich kümmere mich nicht wirklich um DI in Masterseiten, aber ich habe ein dynamisches Element im Chrom der Site, d.h. die Masterseite. Es mit einem Modell zu versehen, sollte nicht in der Verantwortung jedes Controllers liegen, der diese Masterseite verwendet, da es anfragekontextspezifisch und nicht controllerspezifisch ist. Ich gebe voll und ganz zu, dass die Injektion direkt in die Masterseiten unangemessen ist. Wenn ich einen separaten Master-Controller registrieren könnte, der zusätzlich aufgerufen wird, wäre das noch besser. Ist das möglich? Was ist angesichts dieser Aufgabe, dem Master ein vom Controller unabhängiges Modell bereitzustellen, der geeignete Ansatz für das Framework? Oder erfordert ein gemeinsamer Inhalt in MVC, dass jeder Controller über diesen Inhalt Bescheid wissen muss?