2016-09-08 11 views
0

У меня есть около 4 полей, построенных в виде формы, но каждый из них должен появиться максимум 10, если пользователь хочет добавить больше информации (Примечание: это требуется)Как сделать несколько DropDownlists, прочитанных с одного источника данных не-избыточным способом?

так его как: NameTextBox1 до NameTextBox10 и TestTextBox1 до TestTexBox10

Если пользователь нажимает кнопку «Добавить поле», появляются дополнительные текстовые поля.

Теперь для вопроса: Одно из полей - выпадающий список, впредь у меня есть 10 dropdownlists, которые имеют одну и ту же информацию, которую все они читают из одной и той же функции. Есть ли более эффективный способ сделать процедуру ниже, чем писать одну и ту же вещь 10 раз?

DropDownList DropDownList1 = (DropDownList)EntryFormView.FindControl("DropDownList1"); 
    DropDownList1.DataSource = GeographicManager.ReadLocations(); 
    DropDownList1.DataBind(); 

ответ

0

Заверните его в другую функцию, которая принимает идентификаторы:

private void initDropDown(string dropDownID) 
{ 
    DropDownList DropDownList1 = (DropDownList)EntryFormView.FindControl(dropDownID); 
    DropDownList1.DataSource = GeographicManager.ReadLocations(); 
    DropDownList1.DataBind(); 
} 

initDropDown("DropDownList1"); 
initDropDown("DropDownList2"); 

Если вам необходимо инициализировать их все сразу, вы можете использовать цикл, чтобы сделать так:

for (int i=1; i<=10; i++) 
{ 
    initDropDown("DropDownList" + i); 
} 

Or вы можете поместить их идентификаторы в массив и перебрать их. Также полезно, если ваши идентификаторы не следуют простой схеме «DropDownListX»:

string[] dropDownIDs = ["DropDownList1", "DropDownListTwo", "TheDropDownList"]; 

foreach (String ID in dropDownIDs) 
{ 
    initDropDown(ID); 
} 
+0

Genius !! Прошу прощения за такой вопрос. – Shereen

+0

как я могу захватить выбранные элементы в нескольких dropdownlists? Потому что по выбору мне нужно загрузить другие поля readonly на основе выбранного элемента. Но также они имеют одинаковую функциональность, поэтому я бы хотел избежать избыточности – Shereen

+0

@ helpwanted161, это совсем другая история, не подходящая для формата комментариев. Я предлагаю вам открыть новый вопрос для этого – Andrei

 Смежные вопросы

  • Нет связанных вопросов^_^