2013-02-21 87 views
3

我在Asp.net Razor MVC3上工作。我创建了一个App_Code文件夹,并创建一个我想要从web.config读取连接字符串的类,并使用此类使用数据库。我在这个app_code类中编写了System.Configuration,但它没有显示我Configuration类的ConfigurationManager类。 它是这样显示的 enter image description here 而不是如果我写在任何控制器相同的行然后它会显示System.Configuration.ConfigurationManager和控制器我可以从web.config读取连接字符串,但在app_code我不能。如何在Asp.net MVC3 web应用程序中从web.config中读取ConnectionString?

请给我解决方法如何读取app_code类中的连接字符串?

回答

10

包括对System.Web.Configuration参考:

using System.Web.Configuration; 

然后,在你的代码,这样访问它:

WebConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString; 

示例类:

using System.Web.Configuration; 

namespace MyWebApp.App_Code 
{ 
    public class TestClass 
    { 
     public void TestMethod() 
     { 
      var connStr = WebConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString; 
     } 
    } 
} 
+0

我在Visual Studio2012中使用framework4.0在MVC3中工作。当我在我的MVC应用程序中添加引用'System.Web.Configuration'时,它不会显示在添加引用管理器弹出框中。所以我不能将其引用纳入该项目。 – 2013-02-21 11:18:14

+0

你不能从添加引用弹出框添加System.Web.Configuration,你只需要添加System.Web。一旦添加完成,您就可以访问System.Web.Configuration命名空间。 另外,在您的原始文章中,您表示您正在尝试添加“System.Configuration.ConfigurationManager”。这不是我的答案中使用的。我声明System.Web.Configuration。 仔细看看我的答案,并确保您使用的是正确的名称空间并使用WebConfigurationManager.ConnectionStrings [“connStr”] .ConnectionString来获取连接字符串。 – 2013-02-21 13:28:51

+0

我知道它是一个非常奇怪的错误,即当我创建一个空的MVC应用程序,然后发生此错误,如果我创建任何Internet或Intranet MVC应用程序,则不会发生此错误。 – 2013-02-21 13:42:23

相关问题