Пейджинг с помощью команды row

У меня есть gridview с строкой «выбрать» и пейджингом. Я получаю сообщение об ошибке, когда пытаюсь изменить сайт пейджинга.

Вот изображение проблемы

Я могу избавиться от этой проблемы, если использую оператор If(), но тогда мое событие select не будет работать.

/*************Acitivate "Search" column for every row in gridview******************/
    protected void gwActivity_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        /*if (e.CommandName.ToString() == "Select")*/

        {
            GridViewRow row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);           
            txtActivity.Text = row.Cells[2].Text;
            ddlStatus.SelectedValue = row.Cells[4].Text;
            ddlResponsible.SelectedValue = row.Cells[5].Text;
            ddlCategory.SelectedValue = row.Cells[6].Text;
            ddlPriority.SelectedValue = row.Cells[7].Text;
            ddlSize.SelectedValue = row.Cells[8].Text;
            ddlSystem.SelectedValue = row.Cells[9].Text;
            ddlChange_Requestor.SelectedValue = row.Cells[10].Text;
            txtComment.Text = row.Cells[11].Text;


        }

    }

ОШИБКА:

Исключение типа «System.InvalidCastException» возникло в App_Web_rsb5hpia.dll, но не было обработано в пользовательском коде. Дополнительная информация: невозможно преобразовать объект типа «System.Web.UI.WebControls.GridView» в тип «System.Web». .UI.WebControls.LinkButton'.


person Nils    schedule 03.04.2018    source источник


Ответы (1)


Попробуйте изменить LinkButton на Control:

GridViewRow row = (GridViewRow)(((Control)e.CommandSource).NamingContainer);

Или используйте это:

GridViewRow row = (GridViewRow)((Control)e.CommandSource).Parent.Parent;

Или этот:

GridViewRow row = ((e.CommandSource as Control).NamingContainer as GridViewRow);
person 5377037    schedule 03.04.2018
comment
Привет, последнее выглядит так, как будто оно работает не на 100%, потому что в строке возникает ошибка: txtActivity.Text = row.Cells[2].Text; ОШИБКА: Дополнительная информация: ссылка на объект не указывает на экземпляр объекта. - person Nils; 03.04.2018