Razor View-MVC3 ASP.NETのWeb.configからキー値にアクセスする


187

Razorビューのweb.configからキー値にアクセスするにはどうすればよいですか。

これは、私web.configのWebプロジェクトのルートレベルにあります。

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

Razorビューでキーを使用する必要があります。

ありがとうございました。


10
@sathish Kumar:MVCでは少し違うと思ったので、ここで質問する必要があったので、あなたが投票した非常に最悪の質問です。初心者としてキャリアを始めたことを忘れないでください。礼儀正しく他人を尊重してください。私はグーグル検索でこの種の質問を見つけることができませんでした..かみそりは新しいです..
Hari Gillala 2012年

1
それについて申し訳ありません.stackoverflow FAQに従って私はしました。この質問のために私はグーグルから多くの結果を得ました。私がもう一度何か間違ったことをした場合は申し訳ありません。
sathishkumar

回答:


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

ピーターの答えを見てください。これでは、参照ConfigurationManagerを追加する必要があるためです
sensei

241

推奨される方法は、実際には次のとおりです。

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

また、ConfigurationManagerアセンブリへの参照も必要ありません。すでにSystem.Webにあります。


4
@Anwarの回答とあなたの回答の違いは何ですか?ネーミングのほかに;)
Nate-Wilkins

21
System.Configurationは、プロジェクトの他の場所で使用されていない場合、個別に参照する必要がありますが、System.WebはMVCプロジェクトで既に参照されています。
Peter J

12

以下は、レイアウトで非縮小アセットと縮小アセットを使用した実際の例です。

Web.Config

<appSettings>

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

 </appSettings>

かみそりテンプレート-次のように上記の変数を使用します:

@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コード- <add key="PhaseLevel" value="1" />

-オンビューでは、web.config値に基づいて何かを表示または非表示にする場合を想定しています-

-これをあなたのページの上に書いてください- @{ var phase = System.Configuration.ConfigurationManager.AppSettings["PhaseLevel"].ToString(); }

-表示または非表示にする場所で上記の値を使用します。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.