2016-10-20 3 views
0

У меня есть следующий пользовательский раздел конфигурации приложения-настройка стиляПолучить пользовательский раздел AppSettings из ASP.NET Web.Config

<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.

Когда я помещал следующее в окне Watch, я вижу, как тип KeyValueInternalCollection

ConfigurationManager.GetSection ("Фрукты/Colors") как AppSettingsSection

Что мне не хватает? Я нахожусь в своем веб-приложении, поэтому я предполагаю, что мне не нужно использовать 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>"; 
    } 
} 
Смежные вопросы