2012-10-12 71 views
5

Tengo el siguiente:¿Puedo acceder a una enumeración C# en mi vista Razor?

namespace Storage.Constants.References { 
    public enum RoleType { 
     Guest = 1, 
     User = 2, 
     Admin = 3, 
     Super = 4 
    } 
} 

En mi web.config añadí:

<add namespace="Storage.Constants.References" /> 

Sin embargo, en mi opinión a continuación todavía no recibo IntelliSense para el RoleType y parece que no se saber lo que es:

@model WebUx.ViewModels.BaseViewModel 
@{ Layout = "~/Views/Shared/_Layout.cshtml"; } 
@section status { 

    @if (Model.Role >= RoleType.Admin) 
    { 

Sin embargo funciona si cambio esto:

@if (Model.Role >= Storage.Constants.References.RoleType.Admin) 

¿No debería funcionar sin especificar "Storage.Constants.References"?

+0

¿Ha agregado que se el web.config más cercano a la vista, no tu web.config principal? –

Respuesta

4

¿Intentó agregar el namspace a su vista de afeitar?

@using Storage.Constants.References 

Además, si va a agregar en el archivo de configuración Web, asegúrese de que está añadiendo a la webconfig presente en los Vistas carpeta, no el web.config nivel de la raíz

+0

Acabo de intentarlo ahora y funciona. Sin embargo, ¿alguna idea de por qué agregar a la configuración web que está en la carpeta principal no funcionará? –

+0

intenta agregar a ~/Views/web.config. – Shyju

+0

Estoy usando Areas y ya está en: /Areas/Admin/Content/Views/Web.config ¿Ignoraría el archivo cuando estuviera allí? Parece una buena ubicación para el archivo web.config –

Cuestiones relacionadas