2012-01-31 57 views
145

如何在我的Razor视图中从web.config访问键值。在Razor View-MVC3中从Web.config访问键值ASP.NET

这是在我的web.config在Web项目根级别。

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

我想在剃刀视图中使用该键。

谢谢。

+8

@sathish库马尔:我认为这是MVC码不同,所以我不得不问在这里所以,最糟糕的问题是你投了弃权票。请记住,你已经开始了你的职业生涯,彬彬有礼,并尊重他人。我无法在谷歌搜索中找到这样的问题..剃刀是新的.. – 2012-01-31 10:39:06

+1

对不起。根据stackoverflow常见问题我做了。对于这个问题,我有很多来自谷歌的结果。如果我再次对不起任何错误。 – sathishkumar 2012-01-31 11:36:53

回答

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

这是更多的winforms方式。因为彼得是正确的。 – 2012-10-27 07:42:05

+0

看看彼得的答案,因为在这一个你必须添加参考ConfigurationManager – 2017-11-07 12:43:55

196

的首选方法居然是:

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

它也不需要ConfigurationManager中集的引用,它已经在System.Web程序。

+2

@安华的答案和你的答案有什么区别?除了命名;) – 2013-10-11 16:40:52

+13

如果System.Configuration未在项目中的其他位置使用,则可能需要单独引用,但System.Web已在MVC项目中引用。 – 2013-10-11 17:17:10

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 2014-12-19 14:16:18