2011-02-01 15 views
28

¿Dónde puedo encontrar tutoriales sobre cómo funciona esto exactamente?Tener navaja @helper en la carpeta App_code utilizando ASP.NET MVC 3

Estoy tratando de tener @helper en el directorio App_code de mi aplicación MVC3, hasta ahora cuando trato de usarlos en otras páginas de afeitar, no se pueden encontrar.

+0

Parece que su pregunta era respondido por SLaks - ¿podrías pelase marcarlo como tal? –

Respuesta

45

Debe llamar a los ayudantes como métodos estáticos del nombre de la página.

Por ejemplo, si usted tiene un ayudante llamado HelpMe en App_Code/MyHelpers.cshtml, podría escribir

@MyHelpers.HelpMe(...) 
+0

Eso funciona para mí, pero no en un "Área" de MVC. –

+0

@Ken: ¿Qué quieres decir? – SLaks

+1

Puede que no sean las "Áreas" que son el problema. Puedo usar la sintaxis de @MyHelper.Help() muy bien en un proyecto ASP.NET MVC normal. Pero estoy tratando de hacerlo funcionar en un módulo de Orchard, implementado como un proyecto separado. Y en ese proyecto separado, que no es una aplicación web completa, la sintaxis @MyHelper.Help() funciona en el IDE, pero en el tiempo de ejecución dice: "Mensaje de error del compilador: CS0103: el nombre 'MyHelper' no existe en el contexto actual ". No parece estar recogiendo los archivos en el directorio App_Code para compilar. Puede valer su propia pregunta. –

1

Mira esta SO pregunta y la respuesta asociada: Razor: Declarative HTML helpers

Sí funciona, aunque me parece que, al final, que suelen optar por escribir otro método de extensión fuera de HtmlHelper.

Cuestiones relacionadas