从 Razor View-MVC3 ASP.NET 中的 Web.config 访问键值
Posted
技术标签:
【中文标题】从 Razor View-MVC3 ASP.NET 中的 Web.config 访问键值【英文标题】:Access key value from Web.config in Razor View-MVC3 ASP.NET 【发布时间】:2012-02-23 01:36:44 【问题描述】:如何在 Razor 视图中从 web.config 访问键值。
这是在我的 web.config
中的 Web 项目根级别。
<appSettings>
<add key="myKey" value="MyValue"/>
</appSettings>
我想在我的 Razor 视图中使用该键。
谢谢。
【问题讨论】:
@sathish Kumar:我认为它在 MVC 中有点不同,所以我不得不在这里问,所以这是最糟糕的问题,你否决了它。请记住,您的职业生涯始于初学者,要有礼貌并尊重他人。我在谷歌搜索中找不到这种问题.. Razor 是新的.. 对此感到抱歉。根据我所做的***常见问题解答。对于这个问题,我从谷歌得到了很多结果。如果我做错了什么,再次抱歉。 【参考方案1】:@System.Configuration.ConfigurationManager.AppSettings["myKey"]
【讨论】:
看看彼得的答案,因为在这个你必须添加参考 ConfigurationManager【参考方案2】:首选的方法其实是:
@System.Web.Configuration.WebConfigurationManager.AppSettings["myKey"]
它也不需要对 ConfigurationManager 程序集的引用,它已经在 System.Web 中。
【讨论】:
@Anwar 的回答和你的有什么区别?除了命名;) System.Configuration 如果没有在项目的其他地方使用,可能需要单独引用,但 System.Web 已在 MVC 项目中引用。【参考方案3】:这是一个在布局中使用非缩小与缩小资产的真实示例。
Web.Config
<appSettings>
<add key="Environment" value="Dev" />
</appSettings>
Razor 模板 - 像这样使用上面的 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" )">
【讨论】:
即使现实生活中的例子很好,使用 .net MVC 以这种方式缩小是一种耻辱。看看捆绑asp.net/mvc/overview/performance/bundling-and-minification【参考方案4】:对于 MVC
-- 应用设置中的WEB.CONFIG 代码--
<add key="PhaseLevel" value="1" />
-- ON VIEWS 假设您想根据 web.config 值显示或隐藏某些内容--
-- 把这个写在你的页面顶部--
@
var phase = System.Configuration.ConfigurationManager.AppSettings["PhaseLevel"].ToString();
-- 在要显示或隐藏的地方使用高于值。
@if (phase != "1")
@html.Partial("~/Views/Shared/_LeftSideBarPartial.cshtml")
【讨论】:
以上是关于从 Razor View-MVC3 ASP.NET 中的 Web.config 访问键值的主要内容,如果未能解决你的问题,请参考以下文章
迁移到 ASP.NET 3.1 - 从登录控制器路由到 Razor 页面主页索引页面不再工作
如何从 ASP.NET Core 的 Razor 视图中获取 Url 中 id 的值
在 Razor (chtml) 中渲染动态视图,如何在 asp.net core 3.0 中将 FileProvider 添加到 razor?
从 ASP.NET Core Razor 页面获取 DisplayAttribute.Prompt