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.