2012-01-31 12 views
145

¿Cómo accedo a un valor clave desde web.config en mi vista Razor.Valor de clave de acceso desde Web.config en Razor View-MVC3 ASP.NET

Esto está en mi web.config en el nivel de raíz del proyecto web.

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

Quiero tener que usar la tecla en mi vista de Navaja.

Gracias.

+8

@sathish Kumar: pensé que es un poco diferente en MVC, así que tuve que pedir aquí , Así que es la peor pregunta que votaste por ella. Recuerda que también has comenzado tu carrera como ingeniero, sé educado y respetas a los demás. No pude encontrar este tipo de pregunta en la búsqueda de google ... Razor es nuevo ... –

+1

Lo siento. Según la lista de preguntas y respuestas sobre stackoverflow, sí. Para esta pregunta, obtuve muchos resultados de Google.Si alguna vez hice algo mal, lo siento. – sathishkumar

Respuesta

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

Esta es más la forma de winforms. Para la web, Peter tiene razón. –

+0

Eche un vistazo a la respuesta de Peter, ya que en ésta debe agregar la referencia ConfigurationManager –

196

El método preferido es en realidad:

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

También no necesita una referencia al ensamblado ConfigurationManager, ya es en System.Web.

+2

¿Cuál es la diferencia entre la respuesta de @ Anwar y la suya? Además del nombre;) –

+13

System.Configuration podría necesitar referenciarse por separado si no se usa en otro lugar de su proyecto, pero System.Web ya está referenciado en un proyecto MVC. –

7

Aquí hay un ejemplo del mundo real con el uso de activos no minificados versus minificados en su diseño.

Web.Config

<appSettings> 

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

</appSettings> 

Plantilla Razor - El uso que var por encima de la siguiente manera:

@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

Incluso si es agradable con ejemplos de la vida real, usar minificación de esa manera con .NET MVC es una pena. Eche un vistazo a la agrupación http://www.asp.net/mvc/overview/performance/bundling-and-minification – Crypth

Cuestiones relacionadas