ejemplo - Encontrar un control en Asp.net Listview dentro de la plantilla de elemento seleccionado
listview en visual basic 6 (1)
Está llamando a FindControl en todo ListView, en lugar de solo el elemento seleccionado. Esto debería funcionar:
Dim lblModuleTitle As Label = CType(listviewModules.Items(listviewModules.SelectedIndex).FindControl("lblModuleTitle"), Label)
Estoy convirtiendo la funcionalidad de una vista de Grid asp.net a una Vista de lista. En la vista de cuadrícula cuando el elemento seleccionado cambió, tomaría un valor de una etiqueta en la fila seleccionada y lo escribiría en una etiqueta diferente fuera de la vista de cuadrícula.
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
En una vista de lista, no hay un concepto "SelectedRow" sino un SelectedItem. Sin embargo, no puedes encontrar el control contra el elemento seleccionado. Cuando trato de hacer lo siguiente (obtengo una excepción de referencia nula):
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
¿Alguien sabe la forma de encontrar un control dentro de la plantilla del elemento seleccionado?