2009-07-20 1 views
0

In MonoRail-Controllern können Sie das Helper-Attribut verwenden, um helpers in Sichten verfügbar zu machen. Gibt es eine andere Möglichkeit, Helfer mit Hilfe von Controllern zu registrieren, zum Beispiel über Konfigurationsdateien oder Dependency-Injection? Ich bin daran interessiert, die Erstellung eines Basis-Controllers zu vermeiden, nur um Helfer bereitzustellen und der Controller-Hierarchie noch einen weiteren Controller hinzuzufügen.Gibt es alternative Möglichkeiten, Helfer in MonoRail mit Controllern zu registrieren?

Antwort

3

IControllerContext hat ein Hilfswörterbuch. Alle Controller setzen IControllerContext über die ControllerContext-Eigenschaft frei.

Eine andere Option ist die Implementierung eines IHelperDescriptorProvider, um den Standard zu ersetzen (der Hilfsdeskriptoren aus [Helper] Attributen liest). Ihre Implementierung könnte Helferkonfigurationen von einer Konfiguration oder was auch immer Sie wollen, lesen.

+0

Richtig, ich dachte daran, meine eigenen zu implementieren und das Hilfswörterbuch zu verwenden, um das zu erreichen. Aber es gibt kein existierendes Stück, das sich um die Registrierung kümmert, oder? –

+0

Ich verstehe nicht, was Sie meinen, "es gibt kein existierendes Stück, das sich um die Registrierung kümmert" ... Ich habe eine weitere Option hinzugefügt, um Helfer zu registrieren. –

+0

Ich frage mich, ob es ein existierendes Stück gibt (eine MonoRail-Einrichtung, Dienst, Erweiterung, was hast du), das schon Helfer auf eine alternative Weise registrieren könnte, das ist alles. Ich werde wahrscheinlich am Ende mein eigenes bauen. Der IHelperDescriptorProvider sieht vielversprechend aus. Ich nehme es, wenn ich das Standardformular ersetze, dem ich FormHelper und Freunde durch meine Implementierung hinzufügen muss? –

Verwandte Themen