Ich habe ein MVC4-Projekt, für das ich versuche, einen Helfer für zu erstellen. Ich habe einen Ordner namens "App_Code" hinzugefügt, und in diesem Ordner habe ich eine Datei namens MyHelpers.cshtml hinzugefügt. Hier sind der gesamte Inhalt der Datei:Der Name 'Url' existiert nicht im aktuellen Kontextfehler
@helper MakeButton(string linkText, string actionName, string controllerName, string iconName, string classes) {
<a href='@Url.Action(linkText,actionName,controllerName)' class="btn @classes">Primary link</a>
}
(Ich weiß, es gibt einige nicht verwendete params, ich zu denen später bekommen werde, nachdem ich dieses Problem behoben werden)
I „gereinigt“ und baute die Lösung , keine Fehler.
In der Seite, die den Helfer verwendet, habe ich diesen Code hinzugefügt.
@MyHelpers.MakeButton("Back","CreateOffer","Merchant","","btn-primary")
Wenn ich versuche, das Projekt auszuführen, erhalte ich folgende Fehlermeldung:
Compiler Error Message: CS0103: The name 'Url' does not exist in the current context
Ich kann nicht scheinen, den richtigen Weg zu finden, diese zu schreiben - was mache ich falsch? Es scheint richtig zu sein im Vergleich zu Beispielen, die ich im Internet gesehen habe?
Ich denke, dass Sie etwas tun müssen: http://stackoverflow.com/questions/4710853/using-mvc-htmlhelper-extensions-from-razor-declarative-views. – JeffB
Wollten Sie '@ Html.ActionLink' und nicht' @ Url.Action' verwenden? Ich habe eine Fußnote in meine Antwort zu den beiden geschrieben. –