You can access static variables in the view. There are three ways of doing this:
1) As Ant P suggests, include using statement in the view. Given that the namespace of the GlobalVariables class is AppName.GlobalVariables:
@using AppName.GlobalVariables
<html>
<div ><h1 style="color:@GlobalVariables.SystemColor">System Color</h1></div>
</html>
2) Another way is to directly use the namespace in the line where you want to access variable:
<div ><h1 style="color:@AppName.GlobalVariables.SystemColor">System Color</h1></div>
3) Finally, you can add needed namespace to the web.config file under Views folder:
<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>
As for the sticking the variable in the Model and passing it to the View from there... indeed it conforms to the MVC pattern and assures separation of concerns and all that goodness. But in my opinion in some cases "sticking to the pattern" is taken to the level of absurd. In your case I'd just access this variable from the view.