2012-10-12 6 views
5

Ich habe folgendes:Kann ich in meiner Razor-Ansicht auf ein C# -Enum zugreifen?

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

In meinem web.config ich hinzugefügt:

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

jedoch meiner Ansicht nach unten ich noch erhalten keine Intellisense für das Roletype und es scheint nicht zu wissen, was es ist:

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

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

aber es funktioniert, wenn ich dies zu ändern:

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

Sollte es ohne meine Angabe "Storage.Constants.References" nicht funktionieren?

+0

Haben Sie fügen Sie die web.config, die der Ansicht am nächsten ist, nicht Ihre Hauptdatei web.config? –

Antwort

4

Haben Sie versucht, den NAS-Raum zu Ihrer Rasiereransicht hinzuzufügen?

@using Storage.Constants.References 

Auch, wenn Sie es in der Web-Konfigurationsdatei hinzufügen, stellen Sie sicher, dass Sie zur Ergänzung der webconfig in den Ansichten Ordner, nicht die Root-Ebene Web-Config

+0

Ich habe es gerade versucht und es funktioniert. Aber jede Idee, warum das Hinzufügen zu der Web-Konfiguration, die im übergeordneten Ordner ist, funktioniert nicht? –

+0

versuchen, zu ~/Views/web.config hinzuzufügen. – Shyju

+0

Ich verwende Bereiche und es ist bereits in: /Areas/Admin/Content/Views/Web.config Würde es die Datei ignorieren, wenn dort. Es scheint ein guter Ort für die web.config –

Verwandte Themen