Akses nilai kunci dari Web.config di Razor View-MVC3 ASP.NET

187

Bagaimana cara mengakses nilai kunci dari web.config dalam tampilan Razor saya.

Ini ada di saya web.configdi tingkat root Proyek Web.

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

Saya ingin harus menggunakan kunci dalam tampilan Razor saya.

Terima kasih.

Hari Gillala
sumber
10
@sathish Kumar: Saya pikir ini agak berbeda di MVC, jadi saya harus bertanya di sini, Jadi itu pertanyaan terburuk yang Anda pilih. Ingat Anda telah memulai karir Anda sebagai pengemis, sopan dan menghargai orang lain. Saya tidak dapat menemukan pertanyaan semacam ini di pencarian google .. Razor baru ..
Hari Gillala
1
Maaf tentang hal itu. Sesuai dengan FAQ stackoverflow yang saya lakukan. Untuk pertanyaan ini saya mendapat banyak hasil dari google. Jika saya melakukan kesalahan, sekali lagi, maaf.
sathishkumar

Jawaban:

244
@System.Configuration.ConfigurationManager.AppSettings["myKey"]
Anwar
sumber
Lihatlah jawaban Peter, karena dalam jawaban ini Anda harus menambahkan referensi ConfigurationManager
sensei
242

Metode yang disukai sebenarnya:

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

Itu juga tidak perlu referensi ke perakitan ConfigurationManager, itu sudah ada di System.Web.

Peter J
sumber
4
Apa perbedaan antara jawaban @ Anwar dan jawaban Anda? Selain penamaan;)
Nate-Wilkins
21
System.Configuration mungkin perlu direferensikan secara terpisah jika itu tidak digunakan di tempat lain dalam proyek Anda, tetapi System.Web sudah dirujuk dalam proyek MVC.
Peter J
12

Berikut adalah contoh dunia nyata dengan penggunaan aset yang tidak ditambang versus yang diperkecil di tata letak Anda.

Web.Config

<appSettings>

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

 </appSettings>

Razor Template - gunakan var di atas seperti ini:

@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
sumber
5
Bahkan jika itu bagus dengan contoh kehidupan nyata, menggunakan minifikasi seperti itu dengan .net MVC sangat memalukan. Lihatlah bundling asp.net/mvc/overview/performance/bundling-and-minification
Crypth
1

UNTUK MVC

- KODE WEB.CONFIG DALAM PENGATURAN APLIKASI - <add key="PhaseLevel" value="1" />

- TAMPILAN SEKILAS misalkan Anda ingin menampilkan atau menyembunyikan sesuatu berdasarkan web.config Value--

- MENULIS INI DI ATAS PAGE ANDA - @{ var phase = System.Configuration.ConfigurationManager.AppSettings["PhaseLevel"].ToString(); }

- GUNAKAN DI ATAS NILAI DI MANA ANDA INGIN MENUNJUKKAN ATAU MENYEMBUNYIKAN.

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

raj joshi
sumber