Я конвертирую функциональность из Gridview asp.net в Listview. В виде сетки, когда выбранный элемент изменился, я бы взял значение из метки в выбранной строке и записал бы ее в другую метку вне сетки.
Protected Sub grdModules_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdModules.SelectedIndexChanged
Dim lblModuleTitle As Label = grdModules.SelectedRow.FindControl("lblModuleTitle")
lblCurrentModule.Text = lblModuleTitle.Text
End Sub
В Listview нет концепции SelectedRow, а есть SelectedItem. Однако вы не можете найти findcontrol для выбранного элемента. Когда я пытаюсь сделать следующее (я получаю исключение нулевой ссылки):
Protected Sub listviewModules_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles listviewModules.SelectedIndexChanged
Dim lblModuleTitle As Label = CType(listviewModules.FindControl("lblModuleTitle"), Label)
lblCurrentModule.Text = lblModuleTitle.Text
End Sub
Кто-нибудь знает способ найти элемент управления внутри выбранного шаблона элемента?