Accedere al valore chiave da Web.config in Razor View-MVC3 ASP.NET


187

Come posso accedere a un valore chiave da web.config nella mia vista Rasoio.

Questo è nel mio web.configlivello di root del progetto Web.

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

Voglio usare la chiave nella mia vista Rasoio.

Grazie.


10
@sathish Kumar: Ho pensato che fosse un po 'diverso in MVC, quindi ho dovuto fare una domanda qui, quindi la domanda peggiore è che tu l'abbia votato. Ricorda che hai anche iniziato la tua carriera come principiante, sii educato e rispetta gli altri. Non sono riuscito a trovare questo tipo di domanda nella ricerca di Google. Il rasoio è nuovo ..
Hari Gillala

1
Mi dispiace per quello. Come per le FAQ di StackOverflow ho fatto.Per questa domanda ho avuto molti risultati da google.Se ho fatto qualcosa di sbagliato ancora una volta mi dispiace.
sathishkumar,

Risposte:


244
@System.Configuration.ConfigurationManager.AppSettings["myKey"]

Dai un'occhiata alla risposta di Peter, poiché in questo devi aggiungere un riferimento a ConfigurationManager
sensei,

242

Il metodo preferito è in realtà:

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

Inoltre, non è necessario un riferimento all'assembly ConfigurationManager, è già in System.Web.


4
Qual è la differenza tra la risposta di @ Anwar e la tua? Oltre alla denominazione;)
Nate-Wilkins l'

21
Potrebbe essere necessario fare riferimento separatamente a System.Configuration se non viene utilizzato altrove nel progetto, ma System.Web è già indicato in un progetto MVC.
Peter J,

12

Ecco un esempio del mondo reale con l'uso di risorse non minimizzate rispetto a risorse minimizzate nel layout.

web.Config

<appSettings>

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

 </appSettings>

Modello di rasoio: usa quella var sopra in questo modo:

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

}

5
Anche se è bello con esempi di vita reale, usare la minificazione in questo modo con .net MVC è un peccato. Dai
Crypth

1

PER MVC

- CODICE WEB.CONFIG IN IMPOSTAZIONE APP - <add key="PhaseLevel" value="1" />

- ON VIEWS supponiamo che tu voglia mostrare o nascondere qualcosa basato sul valore web.config--

- SCRIVI QUESTO SOPRA LA TUA PAGINA-- @{ var phase = System.Configuration.ConfigurationManager.AppSettings["PhaseLevel"].ToString(); }

- UTILIZZARE SOPRA IL VALORE DOVE VUOI MOSTRARE O NASCONDERE.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.