2010-11-29 24 views
11

I escribió un método de extensión simple para UrlHelper:¿Cómo puedo definir los usos en MVC 3 Razor View Engine en todo el sitio?

public static class ExtensionMethods 
{ 
    private const string ImagesFolder = "~/Images"; 

    public static string Images(this UrlHelper url) 
    { 
     return url.Content(ImagesFolder); 
    } 
} 

El código anterior reside en /Helper/ExtensionMethods.cs. Funciona bien, pero necesito agregar using MyNamespace.Helper; en cada cshtml donde deseo usar el Url.Images(). Yo los viejos tiempos que habría que añadir otra línea a web.config:

<system.web> 
    <pages> 
     <namespaces> 
      <add namespace="MyNamespace.Helper"/> 
     </namespaces> 
    </pages> 
</system.web> 

Pero anterior no parecen ser recogido por la maquinilla de afeitar. Traté de agregar mi declaración de uso al _ViewStart.cshtml, con el mismo resultado.

Entonces, ¿cuál es la manera de Razor de especificar un uso en todo el sitio?

+1

Definitivamente una víctima - simplemente no vienen a través de ella en las búsquedas. Gracias por mirar :-) – Dav

Respuesta

8

Como la respuesta enlazada aceptada sugiere que puede agregar "usar" a todas las vistas al agregar a la sección del archivo de configuración.

Para una visión particular sólo puede utilizar

@using MyNamespace.Helper

Cuestiones relacionadas