Member 13920117 Ответов: 1

Как я могу исправить эту ошибку, индекс был вне диапазона. Должно быть неотрицательным и меньше размера коллекции. Имя параметра: индекс


у меня есть один gridview с именем GridViewReqSearchDonor, и я выбираю одно значение строки, используя выбранный индекс, измененный и отображаемый в текстовом поле, но после выбора gridview valu я получаю выше ошибку, пожалуйста, помогите мне исправить эту ошибку .

Что я уже пробовал:

Protected void GridViewReqSearchDonor_SelectedIndexChanged(object sender, EventArgs e)
        {
           
            //if (GridViewReqSearchDonor.SelectedRow != null)

            //{

            GridViewRow row = GridViewReqSearchDonor.SelectedRow;
                TxtRname.Text = (row.FindControl("lblBdname") as Label).Text;
                TxtRBloodgroup.Text = (row.FindControl("lblBdbloodgroup") as Label).Text;
                TxtRPhno.Text = (row.FindControl("lblBDphoneNum") as Label).Text;
                TxtHospitalName.Text = (row.FindControl("lblBDcity") as Label).Text;
                TxtLocation.Text = (row.FindControl("lblBDEmailid") as Label).Text;
           
        }

1 Ответов

Рейтинг:
0

Gerry Schmitz

SelectedIndexChanged будет срабатывать при запуске; даже если "контекст" еще не был инициализирован; вызывая сбои программы, если вы не принимаете это во внимание.

После этого вам все равно нужно убедиться, что что-то действительно выбрано.

И ваши "FindControls", как написано, вызовут сбои программы, если какое-либо имя будет "неправильным".