Acesse o valor da chave do Web.config no Razor View-MVC3 ASP.NET

187

Como acesso um valor-chave do web.config na minha exibição do Razor.

Isso está no meu web.confignível de raiz do Projeto Web.

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

Quero ter que usar a chave no meu modo de exibição Razor.

Obrigado.

Hari Gillala
fonte
10
@sathish Kumar: Eu pensei que era um pouco diferente no MVC, então eu tive que perguntar aqui, então, na pior das perguntas, você votou contra. Lembre-se de que você também começou sua carreira como iniciante, seja educado e respeite os outros. Eu não poderia encontrar esse tipo de pergunta em busca google .. Navalha é novo ..
Hari Gillala
1
O problema é que a maioria das pessoas não sabe o que é um erro de digitação, mas o problema é que ele não é compatível com o sistema operacional.
Sathishkumar

Respostas:

243
@System.Configuration.ConfigurationManager.AppSettings["myKey"]
Anwar
fonte
Dê uma olhada na resposta de Peter, pois nesta você precisa adicionar a referência ConfigurationManager
sensei
241

O método preferido é realmente:

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

Ele também não precisa de uma referência ao assembly ConfigurationManager, ele já está no System.Web.

Peter J
fonte
4
Qual é a diferença entre a resposta da @ Anwar e a sua? Além do nome;)
Nate-Wilkins
21
O System.Configuration pode precisar ser referenciado separadamente se não for usado em outro lugar no seu projeto, mas o System.Web já estiver mencionado em um projeto MVC.
Peter J
12

Aqui está um exemplo do mundo real com o uso de ativos não minificados versus ativos minificados em seu layout.

Web.Config

<appSettings>

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

 </appSettings>

Modelo de navalha - use essa var acima como esta:

@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
fonte
5
Mesmo que seja legal com exemplos da vida real, usar minificação dessa maneira com o .net MVC é uma pena. Dê uma olhada no empacotamento de asp.net/mvc/overview/performance/bundling-and-minification
Crypth
1

PARA MVC

- CÓDIGO WEB.CONFIG NA CONFIGURAÇÃO DO APP - <add key="PhaseLevel" value="1" />

- Nas visualizações, suponha que você queira mostrar ou ocultar algo com base no valor web.config--

- ESCREVA ISTO EM CIMA DA SUA PÁGINA - @{ var phase = System.Configuration.ConfigurationManager.AppSettings["PhaseLevel"].ToString(); }

- USE ACIMA DO VALOR ONDE QUER MOSTRAR OU OCULTAR.

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

raj joshi
fonte