powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Днамические контролы - значения пустые
7 сообщений из 7, страница 1 из 1
Днамические контролы - значения пустые
    #39154652
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь динамически сформировать Table примерно так
Код: 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.
 public TableCell NewCell(object value, bool mandatory, string validationGroup)
        {
            string name = Guid.NewGuid().ToString();
            TableCell cell = new TableCell();
            DropDownList ddl = new DropDownList();
            ddl.Width = 90;
            ddl.SelectedValue = value == null ? null : value.ToString();
            if (mandatory)
            {
                RequiredFieldValidator rfv = new RequiredFieldValidator();
                rfv.ControlToValidate = name;
                rfv.Text = "*";
                rfv.ForeColor = System.Drawing.Color.Red;
                rfv.ValidationGroup = validationGroup;
                rfv.InitialValue = "";
                cell.Controls.Add(rfv);
            }
            else
            {
                Label lbl = new Label();
                lbl.Text = "*";
                lbl.ForeColor = System.Drawing.Color.White;
                cell.Controls.Add(lbl);
            }
            ddl.ID = name;
            ddl.DataTextField = "name";
            ddl.DataValueField = "id";
            ddl.DataSource = parametersListDataSource;
            ddl.DataBind();
            cell.Controls.Add(ddl);
            return cell;
        }


Имеем набор данных - перебираем, отображаем - все ОК, все данные верны, все корректно отображается
пытаюсь дальше получить данные из DropDownList (или TextBox) - нету :(
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
ublic List<OrderedDictionary> GetContents()
        {
            List<OrderedDictionary> tempList = new List<OrderedDictionary>();
            for (int i = 1; i < target.Rows.Count-1; i++)
                for (int j = 1; j < target.Rows[i].Cells.Count-1; j++)
                {
                    OrderedDictionary tempDict = new OrderedDictionary();
                    tempDict.Add(rowName, rowKeys[i-1]);
                    tempDict.Add(columnName, columnKeys[j-1]);
                    switch(control)
                    {
                        case "TextBox":
                            tempDict.Add("value",decimal.Parse(target.Rows[i].Cells[j].Text));
                            break;
                        case "ComboBox":
                            tempDict.Add("valueint", int.Parse(((DropDownList)target.Rows[i].Controls[j].Controls[1]).SelectedValue));
                            break;
                    }
                    tempList.Add(tempDict);
                }
            return tempList;
        }


Что еще не учел?
...
Рейтинг: 0 / 0
Днамические контролы - значения пустые
    #39154658
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczЧто еще не учел?
Жизненный цикл контролов на странице, а также то, что контрол не статический, а создается динамически.
...
Рейтинг: 0 / 0
Днамические контролы - значения пустые
    #39154683
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас я создаю контролы все с уникальными идентификаторами (для каждой загрузки страницы) - viewstate соответственно не обманешь и значения пришедшие из базы (а там пусто) я и наблюдаю. Контролы создаются в Page_Load. Если сделать имена унифицированными в пределах контрола - как значения сохраненные во ViewState будут себя вести по отношению к значениям, полученным из БД?
...
Рейтинг: 0 / 0
Днамические контролы - значения пустые
    #39154696
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было уже и неоднократно.
...
Рейтинг: 0 / 0
Днамические контролы - значения пустые
    #39154965
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

не за ради флейма - понять есть желание. В Page_Load я создаю динамические контролы. Данные для для них лежат в БД. ViewState разрешен. Первая загрузка страницы заполняет контролы данными из БД. Любой следующий postback десериализует viewstate, независимо от значений в БД? Так?
...
Рейтинг: 0 / 0
Днамические контролы - значения пустые
    #39154978
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,

Данными контролы первый раз (на !IsPostBack) можно заполнять и на Page_Load, но при перезагрузке страницы (PostBack) динамические контролы должны уже быть перевосозданы с оригинальными ID. ViewState на Page_Load уже загружен, но прибайндить данные к контролам не может, так как они пока еще не существует. Поэтому структуру всех контролов и располагать на форме надо до этого события, а значит, искомым событием является On_Init.
...
Рейтинг: 0 / 0
Днамические контролы - значения пустые
    #39154979
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczЛюбой следующий postback десериализует viewstate, независимо от значений в БД? Так?
Не знаю какова конкретно задача, но если задача, чтобы заполнить данные из базы на первом открытии страницы, а при последующих постбэках просто перстисть их, то надо делать так как я написал выше.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Днамические контролы - значения пустые
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]