2015-04-30 6 views
9

Da ich mein ASP.NET5 Projekt beta4 aktualisiert (die mit Visual Studio 2015 RC enthalten), jede meiner Razor Ansichten, wo ich einen Helfer zu verwenden, wie zum Beispiel:@helper Direktive funktioniert nicht mehr aus der Box in ASP.NET5 MVC6 beta4.

@helper foo() 
{ 
    <h2>Bar</h2> 
} 

Ergebnisse in der folgenden Fehler:

Fehler CS0103: Der Name "Helfer" existiert nicht im aktuellen Kontext.

Wird die @helper Direktive nicht mehr unterstützt? Kann mich jemand auf etwas Nützliches hinweisen?

Antwort

11

Die Direktive @helper wurde seit Beta 4 entfernt, da sie zu viele Einschränkungen für andere Razor-Funktionen auferlegt hat: https://github.com/aspnet/Razor/issues/281.

bearbeiten
Um klar zu sagen: auf der Grundlage der Diskussion in der GitHub Ausgabe (n) Microsoft ist nicht die @helper Richtlinie zurück zu bringen Planung oder in ASP.NET-Core ersetzen.

+1

View Helfer waren sowieso eine schlechte Idee vom ersten Tag an. –

+5

Dies ist meine am meisten gehasste Art von SO Antwort: Es beantwortet die Frage, während es völlig nutzlos im Hinblick auf die Bereitstellung einer Alternative oder Anleitung auf die richtige Weise, um das gleiche Problem zu lösen. Was ersetzt den Helfer, oder vielmehr, was sollte dafür verwendet werden? –

+1

@JonStory Ich verstehe deinen Standpunkt. Allerdings - selbst in der Frage, auf die ich hinweise, hat selbst Microsoft kein Ersatz für dieses Feature gefunden. Leider gibt es keinen Ersatz und es gilt als veraltetes Feature. Ich frage mich, warum so ein schwärmerischer Kommentar notwendig ist, wenn ich das Thema lese, um zu verdeutlichen, was ich gerade gesagt habe. –

0

Anstatt eine Hilfsmethode zu verwenden, können Sie die gleiche Funktionalität mithilfe eines partiellen Modells mit Ansicht erreichen. Übergeben Sie die relevanten Argumente einfach an den Befehl Html.Partial.