2008-10-30 4 views
2

Хорошо, я знаю, как это сделать, но я хочу знать, является ли это ЛУЧШИМ способом.Design Question - Control Array

У меня есть таблица под названием «Темы», в которой есть список тем (obv). У меня есть страница с 20 (+/- 10) флажками со всеми темами, на которые пользователь может подписаться. Я решил, что лучший способ сделать это - создать контрольный массив флажков и заполнить его при загрузке страницы.

Проблема в том, что флажки находятся в уникальном расположении, следует ли разместить их на странице, а затем динамически заполнять их при загрузке? Это лучший способ сделать это? Я не слишком хорошо разбираюсь в контрольных массивах.

Спасибо!

ответ

2

Определите, что вы подразумеваете под «следует ли размещать их на странице».

Вы имеете в виду Drag'n'Drop их на страницу aspx? Если вы это сделали, у вас есть копии каждого из них - один набор, созданный страницей, и второй созданный вами, который заменит первый набор.

Как изменить количество флажков («20 (+/- 10)»)? Являются ли они вариантами из базы данных? Они исправлены, но вы еще не знаете, сколько еще?

Один из аспектов funkey ControlCollection состоит в том, что элемент управления может быть только по одному. Если бы вы были попробовать:

ControlCollection cool = new ControlCollection(); 
coll.Add(Page.Controls[0]); 

Он будет добавлен к Coll, но он будет автоматически удален из Page.Controls.

EDITED: (ответ на комментарий) На вашем кодовом замке вручную создайте флажки (прошло некоторое время с тех пор, как я написал код WebForm, так что здесь я немного voguing) и поместите в массив (массив не должны иметь проблемы, я уже упоминал о ControlCollection)

CheckBox[] boxes = new Checkbox[20]; 
for(int i =0; i< 20; ++i) 
{ 
    boxes[i] = new CheckBox(); 
    // do stuff here 
    Page.Controls.Add(boxes[i]); 
} 

Теперь для «делать вещи здесь», мы должны получить их в нужном месте. Существует несколько способов. Мы можем построить вокруг них <table>; мы можем иметь <asp:placeholder> элементов управления в aspx, которые мы также добавляем; мы можем установить атрибуты позиции стиля CSS.

+0

Количество флажков МОЖЕТ варьироваться в зависимости от значений, указанных в базе данных. Итак, лучший способ сделать это, чтобы на странице были установлены флажки? Я не знал, могу ли я подтолкнуть страницу, разместив их в конфигурации. Я хочу три столбца флажков. Мне нужно, чтобы они могли проходить через них. – 2008-10-30 19:34:51