2016-10-20 76 views
0

我有以下的自定義應用程序的設置風格配置部分從ASP.NET Web.Config中獲取自定義appSettings部分

<configSections> 
    <sectionGroup name="Fruits"> 
     <section name="Colors" /> 
    </sectionGroup> 
</configSections> 

<Fruits> 
    <add key="apple" value="red" /> 
    <add key="banana" value="yellow" /> 
</Fruits> 

我嘗試使用下面的代碼來獲取的apple

顏色
var settingsCollection = ConfigurationManager.GetSection("Fruits/Colors") as AppSettingsSection; 
    if (settingsCollection != null) 
    { 
     var color= settingsCollection.Settings["apple"]; 
    } 

上面的代碼不起作用,因爲settingsCollection沒有得到分配給它的任何對象,因爲它不能轉換爲AppSettingsSection。

當我把在監視窗口下面,我看到的AppSettingsSection

我缺少什麼類型的KeyValueInternalCollection

ConfigurationManager.GetSection( 「水果/顏色」)?我在我的網絡應用程序中,所以我假設我不需要使用OpenExeConfiguration,而且我也沒有像在某些論壇中找到的ConfigurationManager.OpenWebConfiguration這樣的方法。

回答

0

你可以試試這個片段。

NameValueCollection Fruits = (NameValueCollection)ConfigurationManager.GetSection("Fruits"); 

foreach (string key in Fruits.Keys) 
{ 
    string[] values = Fruits.GetValues(key); 
    foreach (string value in values) 
    { 
     Label1.Text += key + " - " + value + "<br>"; 
    } 
} 
相關問題