2013-02-21 64 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

相關問題