asp.net web.config appsettings несколько значений - PullRequest
7 голосов
/ 30 июня 2011

У меня есть блок appSetting, который выглядит следующим образом:

<appSettings>
  <key="site1" value="http://www.thissite.com,site name" />
  <key="site2" value="http://www.thissite.com,site name" />
</appSettings>

Я хочу заполнить раскрывающийся список значениями и текстом:

value = "http://www.thissite.com" text = "имя сайта"

Я могу получить их в отдельные массивы, используя это:

string[] mykey = ConfigurationManager.AppSettings["site1"].Split(',');
string[] mykey = ConfigurationManager.AppSettings["site2"].Split(',');

однако я хочу объединить их в один массив, а затем выполнить цикл иЗаполните раскрывающийся список в коде. Я могу заполнить его таким образом, просматривая отдельные массивы, но кажется, что должен быть лучший способ с меньшим количеством кода.

Может кто-нибудь сказать мне, как?


Благодарю всех, кроме многих, благодаря ответу acermate433s ниже.

NameValueCollection appSettings = ConfigurationManager.AppSettings;
    for (int i = 0; i < appSettings.Count; i++)
    {            
        Response.Write(appSettings.GetKey(i).ToString() + "-" + appSettings[i].ToString());
    }

Очевидно, я сделаю немного больше, чем просто отобразлю его.

Ответы [ 3 ]

7 голосов
/ 30 июня 2011

AppSettings - это NameValueCollection , вы можете перебрать все его значения, используя для каждого

2 голосов
/ 16 июля 2013

Просто чтобы дать полный рабочий образец, так как этот вопрос продолжает получать хиты

NameValueCollection appSettings = ConfigurationManager.AppSettings;

for (int i = 0; i < appSettings.Count; i++)
{
    string key = appSettings.GetKey(i);
    string value = appSettings.Get(i);  
}
2 голосов
/ 30 июня 2011

Вы можете расширить файл конфигурации, создавая пользовательские конфигурации. По сути вы получите:

<site name="key1">
   <address value="...1..." />
</site>

http://www.4guysfromrolla.com/articles/020707-1.aspx

В качестве альтернативы, вы можете указать ключ в качестве имени сайта и просто использовать http://cephas.net/blog/2003/09/26/extending-webconfig-in-aspnet/ вроде вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...