изменить текст двух меток на основе выбранной строки gridview

#asp.net #vb.net #gridview #event-handling

#asp.net #vb.net #gridview #обработка событий

Вопрос:

Я хочу изменить текст двух меток на основе выбранной строки gridview.

Я продолжаю получать сообщение об ошибке, в котором говорится, что строка общедоступного элемента не существует в linkbutton

 Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim LinkButton1 As LinkButton = DirectCast(sender, LinkButton)

    Dim tour As Label = CType(sender.Row.FindControl("label2"), Label)
    Dim depart As Label = CType(sender.Row.FindControl("label3"), Label)

    test.Text = tour.Text
    test1.Text = depart.Text

    UpdatePanel9.Update()

End Sub
  

Ответ №1:

Согласно вашему коду, sender это LinkButton . Свойство Row не будет существовать на кнопке ссылки, когда вы ссылаетесь sender.Row . Вот почему вы получаете ошибку.

Вы хотите подключиться к событию SelectedIndexChanged, которое облегчит вам доступ к строке.

 Sub MyGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
    Dim myGrid As GridView = TryCast(sender, GridView)
    Dim selectedRow As GridViewRow = myGrid.SelectedRow

    'do something with selected row as needed from here.....

End Sub