Ho un progetto MVC4 per il quale sto cercando di creare un helper. Ho aggiunto una cartella chiamata "App_Code", e in quella cartella ho aggiunto un file chiamato MyHelpers.cshtml. Ecco l'intero contenuto di quel file:Il nome "Url" non esiste nel contesto attuale errore
@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>
}
(So che ci sono alcuni params inutilizzati, vado a prendere a quelli più tardi, dopo che ottenere questo riparato)
I "pulito" e costruito la soluzione , nessun errore.
Nella pagina che utilizza l'helper, ho aggiunto questo codice.
@MyHelpers.MakeButton("Back","CreateOffer","Merchant","","btn-primary")
Quando si tenta di eseguire il progetto, ottengo il seguente errore:
Compiler Error Message: CS0103: The name 'Url' does not exist in the current context
io non riesco a trovare il modo corretto di scrivere questo - cosa faccio di sbagliato? Sembra corretto rispetto agli esempi che ho visto sul web?
Penso che sia necessario fare qualcosa del genere: http://stackoverflow.com/questions/4710853/using-mvc-htmlhelper-extensions-from-razor-declarative-views. – JeffB
Volevi usare '@ Html.ActionLink' piuttosto che' @ Url.Action'? Ho inserito una nota a piè di pagina nella mia risposta a proposito dei due. –