Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
HelloWord
4 / 4 / 4
Регистрация: 15.04.2009
Сообщений: 348
1

Динамические контролы

13.04.2011, 16:55. Просмотров 1543. Ответов 2
Метки нет (Все метки)

Добрый день
Подскажите пожалуйста.
Я имею userControl контролы. Я сажу их на форму динамически.Это функция (ниже) вызывается несколько раз.Здесь mydiv - это
HTML5
1
<div id="mydiv"   runat="server"> </div>
Но я не могу посадить контролы на форму в 3 раз. Я тыпаюсь третий раз посадить контролы этой функцией, ничего не получается. Выводит ошибку.Я прикрепила к письму фото ошибки.
Как избавиться от нее? Почему возникает ошибка когда я сажу на mydiv конторолы таким образом?
Спасибо

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
private List<ListCombo> CreateControlQuestions()
    {
        List<ReadDate.ElementReply> listElementReply = new List<ReadDate.ElementReply>();
        List<int> listIndex = new List<int>();       
        List<ListCombo> listDropDown = new List<ListCombo>();
        object idParent = Session["IdParentTheme"];
        if (idParent != null)
        {
            mydiv.Controls.Clear();
            int count = mydiv.Controls.Count;
            int id = Int32.Parse(idParent.ToString());
            List<ReadDate.ElementQustions> listQuestions = ReadDateQuestions.ReadQuestions(id);
            int i = 0, j = 0, k = 0;
            UserControl userControl;
            ElementReply elem;
            foreach (ElementQustions element in listQuestions)
            {
                elem = new ElementReply();
                switch (element.typeQuestion)
                {
                    case 0:
                        i += 1;
                        userControl = (UserControl)LoadControl(@"~/Controls/FirstTypeQuestion.ascx");
                        userControl.ID = "FirstTypeQuestion" + i.ToString();
                        ((Controls_FirstTypeQuestion)userControl).FullTextQuestion = elem.textQuestion = element.textQuestion;
                        elem.textReply = ((Controls_FirstTypeQuestion)userControl).FullTextReply; listIndex.Add(element.Id);
                        mydiv.Controls.Add(userControl);
                        break;
                    case 1:
                        j += 1;
                        userControl = (UserControl)LoadControl(@"~/Controls/SecondTypeQuestions.ascx");
                        userControl.ID = "SecondTypeQuestion" + j.ToString();
                        ((Controls_SecondTypeQuestions)userControl).FullTextQuestion = elem.textQuestion = element.textQuestion;
                        ((Controls_SecondTypeQuestions)userControl).FullCheckBoxContentQuestions(ReadDateQuestions.ContentElement(element.Id));
                        elem.textReply = ((Controls_SecondTypeQuestions)userControl).CheckBoxContent; listIndex.Add(element.Id);//= element.textQuestion;                       
                        mydiv.Controls.Add(userControl);
                        break;
                    case 2:
                        k += 1;
                        ListCombo listCombo = new ListCombo();                        
                        userControl = (UserControl)LoadControl(@"~/Controls/ThirdTypeQuestions.ascx");
                        userControl.ID = "ThirdTypeQuestion" + k.ToString();
                        ((Controls_ThirdTypeQuestions)userControl).FullTextQuestion = elem.textQuestion =listCombo.Question= element.textQuestion;
                        ((Controls_ThirdTypeQuestions)userControl).FullDropDownListQuestions(ReadDateQuestions.ContentElement(element.Id));
                        listCombo.listDropDown = ReadDateQuestions.ContentElement(element.Id);                        
                        listDropDown.Add(listCombo);                        
                        elem.textReply = ((Controls_ThirdTypeQuestions)userControl).DropDownListQuestion; listIndex.Add(element.Id);/// elem.textReply = element.textQuestion;                        
                        mydiv.Controls.Add(userControl);
                        break;
                }
                listElementReply.Add(elem);
            }
        }
        ViewState["ListIndex"] = listIndex;        
       return listDropDown;
    }
 Комментарий модератора 
Используйте теги форматирования кода
0
Миниатюры
Динамические контролы  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2011, 16:55
Ответы с готовыми решениями:

Masterpage, динамические контролы, пропадание после PostBack`a
Есть контрол, который в pageHeaderPlaceholder, после PostBack он пропадает, что...

Пользовательские контролы
Здравствуйте!Интересует собственно вот что : как при создании контрола...

Контролы в репитере: возможно ли
Добрый день. Возник такой вопрос: можно ли в репитер засовывать контролы?...

Почему не отображаются контролы в таблице?
не пойму почему не отображаются контролы в таблице. Вначале отображались,...

Javascript + asp.net контролы
Почему-то с asp.net контролами не работает следующая тема:...

2
HelloWord
4 / 4 / 4
Регистрация: 15.04.2009
Сообщений: 348
14.04.2011, 09:05  [ТС] 2
Что значить использовать теги форматированного кода? Я не понимаю вас.
0
miko77
2 / 2 / 0
Регистрация: 04.05.2011
Сообщений: 5
04.05.2011, 20:23 3
Это какое-то извращение, не надо так делать.
Попробуй добавлять через PlaceHolder http://msdn.microsoft.com/ru-ru/library/e6ckb858.aspx
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2011, 20:23

Тема: кастомные контролы и валидаторы
У меня есть кастомный контрол внутри которого TextBox. Этот контрол я использую...

Как совместить графику и веб контролы?
На странице Asp.net рисую прямоугольники используя Bitmap, Graphics. вызываю ...

Создать контролы в цикле на aspx странице
Привет всем! Есть html таблица, в каждой ячейки которой содержится один...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru