ModalPopupExtender - всплывающая сетка, позволяющая пользователю выбрать строку и заполнить текстовое поле данными столбцов - PullRequest
0 голосов
/ 01 ноября 2010

По сути, у меня есть текстовое поле, в котором пользователь может ввести идентификатор из базы данных.Чтобы упростить задачу, пользователь может вызвать GridView, используя ModalPopupExtender, чтобы отобразить все столбцы таблиц, и он может выбрать строку, которая затем закрывает modalpopupextender и устанавливает текстовое поле для столбца идентификатора строки.пока у меня есть это:

     protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string testing = GridView1.SelectedRow.Cells[1].Text.ToString();
        ((TextBox)dtlsInsert.FindControl("txtNom")).Text = GridView1.SelectedRow.Cells[1].Text.ToString();
    }

Строка 'testing' заполняется, но, похоже, она не заполняет текстовое поле txtNom.Кроме того, как я могу программно закрыть модалпопупексендер?

Спасибо

1 Ответ

1 голос
/ 01 ноября 2010

Если GridView1 (и, возможно, его контейнер Panel и связанный ModalPopupExtender) находится в UpdatePanel , но txtNom нет, txtNom не будет обновляться частичными обратными передачами срабатывает по GridView1.

Существует несколько способов решения этой проблемы:

  • Если можете, поместите txtNom и GridView1 в одно и то же UpdatePanel.

  • Поместите txtNom в другое UpdatePanel, для которого свойство UpdateMode установлено в Always.

  • Выполните полную обратную передачу, зарегистрировав GridView1 как PostBackTrigger в своем UpdatePanel.

Что касается вашего второго вопроса, ModalPopupExtender предоставляет методы Show() и Hide() на стороне сервера, а также аналогичные методы show() и hide() на стороне клиента.

...