글로벌 클래스의 네임 스페이스로 대체 보기. 이 작업을 수행하는 세 가지 방법이 있습니다 :
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 패턴을 준수하고 관심과 모든 선 (善)의 분리를 보장합니다. 그러나 제 의견으로는 어떤 경우에는 "패턴을 고수하고 있습니다"는 말도 안된다. 귀하의 경우에는보기에서이 변수에 액세스 할 수 있습니다.
MVC 패턴을 준수해야하므로 그렇게해서는 안됩니까? 그 주된 이유는 무엇입니까? – ChaoticLoki
필자가 아는 한, 클래스의 네임 스페이스에'@ using'을 포함하면 뷰에서 정적 변수를 사용할 수 있습니다. 그래도 안된다. –
좋아요, 그 말이 맞습니다. 저는 뷰 모델을 전달하지 않을 때에도 모든 것에 대한 뷰 모델을 만들어야하고 싶지 않았습니다. 예를 들어 고객 모델 목록을 통과 한 고객 목록이 있습니다. – ChaoticLoki