Greifen Sie über Web.config in Razor View-MVC3 ASP.NET auf den Schlüsselwert zu

187

Wie greife ich in meiner Razor-Ansicht über web.config auf einen Schlüsselwert zu?

Dies ist in meiner web.configin der Web Project-Stammebene.

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

Ich möchte den Schlüssel in meiner Rasiermesseransicht verwenden müssen.

Danke dir.

Hari Gillala
quelle
10
@sathish Kumar: Ich dachte, dass es in MVC etwas anders ist, also musste ich hier nachfragen. Es ist also die schlimmste Frage, die Sie abgelehnt haben. Denken Sie daran, Sie haben auch Ihre Karriere als Anfänger begonnen, seien Sie höflich und respektieren Sie andere. Ich konnte diese Art von Frage in der Google-Suche nicht finden. Rasiermesser ist neu.
Hari Gillala
1
Tut mir leid. Wie in den häufig gestellten Fragen zum Stackoverflow beschrieben. Für diese Frage hatte ich viele Ergebnisse von Google. Wenn ich noch einmal etwas falsch gemacht habe, tut mir leid.
Sathishkumar

Antworten:

243
@System.Configuration.ConfigurationManager.AppSettings["myKey"]
Anwar
quelle
Schauen Sie sich Peters Antwort an, da Sie in dieser Antwort den Verweis ConfigurationManager
sensei
241

Die bevorzugte Methode ist tatsächlich:

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

Es wird auch kein Verweis auf die ConfigurationManager-Assembly benötigt, sondern bereits in System.Web.

Peter J.
quelle
4
Was ist der Unterschied zwischen der Antwort von @ Anwar und Ihrer? Neben der Benennung;)
Nate-Wilkins
21
System.Configuration muss möglicherweise separat referenziert werden, wenn es nicht an anderer Stelle in Ihrem Projekt verwendet wird, System.Web jedoch bereits in einem MVC-Projekt referenziert wird.
Peter J
12

Hier ist ein Beispiel aus der Praxis mit der Verwendung von nicht minimierten oder minimierten Assets in Ihrem Layout.

Web.Config

<appSettings>

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

 </appSettings>

Razor Template - Verwenden Sie diese Variable wie folgt:

@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" )">    

}
Peter Drinnan
quelle
5
Auch wenn es mit Beispielen aus dem wirklichen Leben gut ist, ist es eine Schande, die Minifizierung auf diese Weise mit .net MVC zu verwenden. Werfen
Crypth
1

FÜR MVC

- WEB.CONFIG CODE IN DER APP-EINSTELLUNG - <add key="PhaseLevel" value="1" />

- ON VIEWS Angenommen, Sie möchten etwas basierend auf web.config anzeigen oder ausblenden. Wert--

- SCHREIBE DAS OBEN AUF DEINE SEITE-- @{ var phase = System.Configuration.ConfigurationManager.AppSettings["PhaseLevel"].ToString(); }

- VERWENDEN SIE DEN OBEN GENANNTEN WERT, WO SIE ZEIGEN ODER VERSTECKEN WOLLEN.

@if (phase != "1") { @Html.Partial("~/Views/Shared/_LeftSideBarPartial.cshtml") }

Raj Joshi
quelle