Раскрывающийся список Asp.net — Listitem — Файл ресурсов — Значение

У меня есть простой раскрывающийся список, и я хотел заполнить этот раскрывающийся список значениями из файла Resource.resx.

Создание файла ресурсов и добавление значений, каждое из которых разделено знаком «,», — это не проблема, а отображение каждого элемента в качестве выбираемых параметров для раскрывающегося списка.

мой HTML-код выглядит так:

<asp:DropDownList runat="server" ID="DDL1">
<asp:ListItem  Text="<%$Resources:DropDown, Abteilungen%>"></asp:ListItem>

Примечание Abteilungen — это просто название!

и вот что я пытаюсь сделать:

List<SelectListItem> items = new List<SelectListItem>();
                foreach (string s in Resources.DropDown.Abteilungen.Split(new char[] { ',' }))
                {
                    items.Add(new SelectListItem() { Text = s, Value = s });
                    DDL1.Text = s.ToString();
                }

Результат: выпадающий список показывает мне только полные значения (Value1, Value2, Value3 и т. д.).

Но не каждое значение как выбираемый элемент.

Кто-нибудь может мне с этим помочь?


person Diego Bell    schedule 02.11.2018    source источник


Ответы (1)


Представлять себе...

  • У вас есть 1 запись: "Ключ, Значение"
  • Вы разделяете его и s = "Ключ"
  • Вы назначаете Text и Value как: Text = s (Text = "Key"), Value = s (Value = "Key")

Вместо этого используйте эту логику:

  • У вас есть 1 запись: "Ключ, Значение"
  • Вы записываете это в переменную s. В результате: s = "Ключ, Значение"
  • Вы разделяете его и назначаете как: Text = s[0] (Text = "Key"), Value = s[1] (Value = "Value")

    List<SelectListItem> items = new List<SelectListItem>();
    foreach (string s in YOUR_COLLECTION)
    {
        string[] keyValue = s.Split(new char[] { ',' })
        items.Add(new SelectListItem() { Text = keyValue[0], Value = keyValue[1] });
    }
    
person PWND    schedule 02.11.2018
comment
Я получаю исключение IndexoutofRange… я не понимаю, что я делаю неправильно :( - person Diego Bell; 02.11.2018