2012-10-12 17 views
5

Ho il seguente:Posso accedere a un C# enum nella mia vista Razor?

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

Nel mio web.config ho aggiunto:

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

Tuttavia, a mio avviso qui sotto ho ancora non ottengo alcuna intellisense per la RoleType e sembra di non sapere di cosa si tratta:

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

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

Tuttavia funziona se cambio questo:

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

Se non funziona senza la mia specifica "Storage.Constants.References"?

+0

Hai aggiungerlo il web.config più vicino alla vista, non il tuo web.config principale? –

risposta

4

Hai provato ad aggiungere il namspace alla vista del tuo rasoio?

@using Storage.Constants.References 

Inoltre, se si aggiunge che nel file di configurazione web, assicurarsi che si sta aggiungendo alla WebConfig presente nelle Visualizzazioni cartella, non il livello principale web config

+0

L'ho appena provato ora e funziona. Qualche idea sul perché l'aggiunta alla web-config che si trova nella cartella principale non funzionerà? –

+0

prova ad aggiungere a ~/Views/web.config. – Shyju

+0

Sto usando Aree ed è già in: /Areas/Admin/Content/Views/Web.config Ignorerebbe il file quando ci sono. Sembra una buona posizione per il web.config –

Problemi correlati