我可以在Razor视图中访问C#枚举吗?

5 asp.net-mvc razor asp.net-mvc-3

我有以下内容:

namespace Storage.Constants.References {
    public enum RoleType {
        Guest = 1,
        User = 2,
        Admin = 3,
        Super = 4
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的web.config中,我添加了:

<add namespace="Storage.Constants.References" />
Run Code Online (Sandbox Code Playgroud)

但是在我看来,我仍然没有获得RoleType的任何intellisense,它似乎不知道它是什么:

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

    @if (Model.Role >= RoleType.Admin)
    {
Run Code Online (Sandbox Code Playgroud)

但是,如果我将其更改为:

@if (Model.Role >= Storage.Constants.References.RoleType.Admin)
Run Code Online (Sandbox Code Playgroud)

如果没有我指定"Storage.Constants.References",它应该不起作用吗?

Shy*_*yju 5

您是否尝试将 namspace 添加到您的剃刀视图中?

@using Storage.Constants.References
Run Code Online (Sandbox Code Playgroud)

此外,如果您将它添加到 web 配置文件中,请确保添加到Views文件夹中的 webconfig ,而不是根级别的 web 配置