您可以访问视图中的静态变量。有三种方法可以做到这一点:
1) 正如 Ant P 所建议的,在视图中包含 using 语句。鉴于GlobalVariables
该类的命名空间是AppName.GlobalVariables
:
@using AppName.GlobalVariables
<html>
<div ><h1 style="color:@GlobalVariables.SystemColor">System Color</h1></div>
</html>
2)另一种方法是直接使用要访问变量的行中的命名空间:
<div ><h1 style="color:@AppName.GlobalVariables.SystemColor">System Color</h1></div>
3) 最后,您可以在 Views 文件夹下的 web.config 文件中添加所需的命名空间:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.Optimization" />
<add namespace="AppName.GlobalVariables" />
</namespaces>
</pages>
</system.web.webPages.razor>
至于将变量粘贴在模型中并将其从那里传递给视图......确实它符合 MVC 模式并确保关注点分离和所有这些优点。但在我看来,在某些情况下,“坚持模式”被认为是荒谬的。在您的情况下,我只需从视图中访问此变量。