2012-01-31 13 views
145

Razorビューのweb.configからキー値にアクセスする方法を教えてください。Razor View-MVC3のWeb.configからキー値にアクセスするASP.NET

これはWeb Projectのルートレベルのweb.configにあります。

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

私は剃刀のビューでキーを使用する必要があります。

ありがとうございます。

+8

@sathishクマール:私はそれはMVCで少し異なっていると思ったので、私はここにお願いしていたがそれであなたが投票したことは非常に最悪の質問です。あなたは、初心者としてあなたのキャリアを始め、礼儀正しく、他人を尊敬していることを忘れないでください。私はGoogleの検索でこの種の質問を見つけることができませんでした。剃刀は新しいです.. –

+1

それについて申し訳ありません。私は何かgoogle.Ifから多くの結果を持っていました。 – sathishkumar

答えて

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

これはもっとwinformsの方法です。ウェブのためにピーターは正しいです。 –

+0

Peterの答えを見てください。この中にリファレンスConfigurationManagerを追加する必要があります。 –

196

好ましい方法は、実際には次のとおりです。

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

また、それはSystem.Webの中ですでにだ、のConfigurationManagerアセンブリへの参照を必要としません。

+2

@ Anwarの答えとあなたの答えの違いは何ですか?名前のほか; –

+13

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

7

ここでは、あなたのレイアウトで縮小されていない資産と拡張された資産の使用例を示します。

のWeb.Config

<appSettings> 

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

</appSettings> 

レイザーテンプレート - このように上にそのVARを使用します。

@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

実際の例ではうまくいきますが、.net MVCで縮小化を使用するのは残念です。 http://www.asp.net/mvc/overview/performance/bundling-and-minificationのバンドルをご覧ください – Crypth

関連する問題