2012-01-31 12 views
145

Jak uzyskać dostęp do wartości klucza z pliku web.config w widoku Maszynka.Wartość klucza dostępu z pliku Web.config w widoku Razor-MVC3 ASP.NET

To jest w moim web.config na poziomie głównym projektu WWW.

<appSettings> 
    <add key="myKey" value="MyValue"/> 
</appSettings> 

Chcę użyć klucza w widoku "My Razor".

Dziękuję.

+8

@sathish Kumar: Myślałem, że jest to nieco inna w MVC, więc musiałem poprosić tutaj , Więc najgorsze pytanie, że przegłosowałeś to. Pamiętaj, że alos rozpoczął twoją karierę jako początkujący, bądź grzeczny i szanuj innych. Nie mogłem znaleźć tego rodzaju pytania w wyszukiwarce Google .. Brzytwa jest nowa .. –

+1

Przepraszam za to. Za pytanie o stackoverflow zrobiłem to. Na to pytanie miałem wiele wyników z google.Jeśli zrobiłem coś złego raz jeszcze przepraszam. – sathishkumar

Odpowiedz

186
@System.Configuration.ConfigurationManager.AppSettings["myKey"] 
+13

To jest bardziej metoda WinForm. Dla web Peter ma rację. –

+0

Spójrz na odpowiedź Petera, ponieważ w tym musisz dodać odniesienie ConfigurationManager –

196

Preferowaną metodą jest faktycznie:

@System.Web.Configuration.WebConfigurationManager.AppSettings["myKey"] 

też nie potrzebuje odniesienie do zespołu ConfigurationManager, to już w system.Web.

+2

Jaka jest różnica między odpowiedzią @ Anwar a twoją? Oprócz nazwy;) –

+13

System.Configuration może wymagać odwołania się osobno, jeśli nie jest on używany w innym miejscu w projekcie, ale System.Web jest już przywoływany w projekcie MVC. –

7

Oto prawdziwy przykład na świecie z wykorzystaniem niezmineralizowanych lub zminiaturyzowanych zasobów w układzie.

Web.Config

<appSettings> 

    <add key="Environment" value="Dev" /> 

</appSettings> 

Razor Template - użyć tego var powyżej tak:

@if (System.Configuration.ConfigurationManager.AppSettings["Environment"] == "Dev") 
{  
    <link type="text/css" rel="stylesheet" href="@Url.Content("~/Content/styles/theme.css")">  

}else{   

    <link type="text/css" rel="stylesheet" href="@Url.Content("~/Content/styles/blue_theme.min.css")">  

} 
+4

Nawet jeśli jest to dobre z przykładami z życia, używanie w tym celu minifikacji .net MVC to wstyd. Zobacz ofertę pakietową http://www.asp.net/mvc/overview/performance/bundling-and-minification – Crypth

Powiązane problemy