2011-02-01 20 views
28

Dove posso trovare tutorial su come far funzionare esattamente questo?Avere rasoio @helper nella cartella App_code usando ASP.NET MVC 3

Sto provando ad avere @helper nella directory App_code della mia app MVC3, finora quando cerco di usarli in altre pagine del rasoio, non possono essere trovati.

+0

Sembra che la tua domanda era risposto da SLaks - potresti scriverlo come tale? –

risposta

45

È necessario chiamare gli helper come metodi statici del nome della pagina.

Ad esempio, se si dispone di un assistente di nome HelpMe in App_Code/MyHelpers.cshtml, si può scrivere

@MyHelpers.HelpMe(...) 
+0

Questo funziona per me, ma non in una "Area" MVC. –

+0

@Ken: cosa intendi? – SLaks

+1

Potrebbe non essere "Aree" il problema. Posso usare la sintassi @ MyHelper.Help() bene in un normale progetto ASP.NET MVC. Ma sto cercando di farlo funzionare in un modulo Orchard, implementato come progetto separato. E in questo progetto separato, che non è esso stesso un'app Web completa, la sintassi @ MyHelper.Help() funziona nell'IDE, ma in fase di esecuzione dice "Compilatore messaggio di errore: CS0103: il nome" MyHelper "non esiste nel contesto attuale. " Non sembra che stia raccogliendo i file nella directory App_Code per la compilazione. Potrebbe valere la sua stessa domanda. –

1

Guardate questa SO domanda e risposta associati: Razor: Declarative HTML helpers

E funziona, anche se trovo che, alla fine, di solito optare per la scrittura di un altro metodo di estensione off di HtmlHelper.

Problemi correlati