Доступ до ключового значення з Web.config в Razor View-MVC3 ASP.NET


187

Як отримати доступ до ключового значення з web.config в моєму перегляді Razor.

Це в моєму web.configрівні кореневого веб-проекту.

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

Я хочу використовувати ключ у моєму перегляді Бритви.

Дякую.


10
@sathish Kumar: Я думав, що в MVC це дещо інакше, тому мені довелося запитати сюди, тож це найгірше питання, про який ви проголосували. Пам'ятайте, що ви все-таки розпочали свою кар'єру як початківця, будьте ввічливі та поважайте інших. Я не міг знайти такого роду питання в пошуку Google .. Бритви нові ...
Харі Гіллала

1
Вибачте з цього приводу. Відповідно до запитань про stackoverflow, які я зробив. Для цього питання у мене було багато результатів від google.Якщо я ще раз помилявся, вибачте.
sathishkumar

Відповіді:


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

Подивіться на відповідь Петра, оскільки в цій вам потрібно додати посилання ConfigurationManager
sensei

242

Кращим методом є насправді:

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

Він також не потребує посилання на збірку ConfigurationManager, це вже в System.Web.


4
Яка різниця між відповіддю @ Анвара і вашою? Крім найменування;)
Нейт-Вілкінс

21
На System.Configuration може знадобитися посилання окремо, якщо він не використовується в іншому місці проекту, але System.Web вже посилається на проект MVC.
Пітер Дж

12

Ось приклад із реального світу із використанням у своєму макеті нескорочених та мінімізованих активів.

Web.Config

<appSettings>

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

 </appSettings>

Шаблон Razor - використовуйте цей варіант вище, як це:

@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
Навіть якщо це приємно з прикладами з реального життя, використання мінімізації таким чином .net MVC - прикро. Подивіться на групування asp.net/mvc/overview/performance/bundling-and-minification
Crypth

1

ДЛЯ MVC

- WEB.CONFIG КОД У НАЛАШТУВАННІ APP - <add key="PhaseLevel" value="1" />

- НА ПЕРЕГЛЯДУ припустімо, що ви хочете показати чи приховати щось на основі значення web.config Value--

- Напишіть це на верхній частині вашої сторінки-- @{ var phase = System.Configuration.ConfigurationManager.AppSettings["PhaseLevel"].ToString(); }

- ВИКОРИСТОВУЙТЕ ЗНАЧЕННЯ, ЩО ВИ ХОЧУТЬ, ЩО ВИБАЖЕТЬ, ЩО ВИБАЖИТИ, АБО СХІДИТИ.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.