Вызвать событие нажатия кнопки управления пользователем при динамической загрузке - PullRequest
0 голосов
/ 27 января 2012

У меня есть веб-приложение, которое назначает продолжительность времени студентам в виде расписания.

, поэтому для этого у меня есть пользовательский элемент управления TimePeriod, и этот элемент управления динамически загружается на веб-страницу.

Мой пользовательский элемент управления содержит два элемента управления textbox и одной кнопки, и мне нужно найти событие нажатия этой кнопки. На этой кнопке должно быть получено значение двух связанных текстовых полей. Но я не могу найти событие clickэтой кнопки.

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

Например, для цели я установил значение j до 10, фактически этовыглядит так:

for (int j = 1; j < 10; j++)
{
    TableRow row = new TableRow();
    TableCell cell = new TableCell();

    cell.Text = j.ToString();
    cell.Height = 10;
    cell.Width = 75;
    row.Height = 10;
    cell.BackColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.Gray);
    //cell.BackColor = #FFFFFF;
    row.Cells.Add(cell);

    TimePeriod ib = (TimePeriod)LoadControl("TimePeriod.ascx");
    TableCell cell1 = new TableCell();
    cell1.BackColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.Gray);
        cell1.Controls.Add(ib);
        row.Cells.Add(cell1);

        tbl1.Rows.Add(row);
    cell = null; row = null;
}

1 Ответ

2 голосов
/ 27 января 2012

Необходимо убедиться, что событие добавляется при каждой обратной передаче страницы. Не ограничивайте его первой загрузкой страницы, т.е. !Page.IsPostBack, как обычно.

Также вам необходимо создать и загрузить динамические элементы управления на Page_Init, а не на Page_Load или где-либо еще. Это распространенная ошибка. Если вы строите на Page_Load или где-либо еще, они не добавляются к ViewState и вызывают проблемы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...