获取嵌套在Repeater中的GridView的选定行

时间:2016-12-14 02:41:53

标签: c# asp.net vb.net gridview

我的Repeater中有一个下拉列表,根据在嵌入在Repeater中的Gridview中选择哪一行来填充。

我需要根据GridView中选择的行来刷新下拉列表。

通常我可以像这样获得当前选定的行:

Protected Sub GvRevisionInfo2_OnSelectedIndexChanged(sender As Object, e As EventArgs)
    Dim country As String = TryCast(GridView1.SelectedRow.FindControl("lblCountry"), Label).Text
End Sub

但我不知道GridView的ID,因为它是在Repeater内动态生成的。有时候有2个GridView,其他时候有20个。

那么如何从代码隐藏中动态生成的GridView中的当前选定行中获取值?

1 个答案:

答案 0 :(得分:2)

您可以将sender强制转换回GridView并使用它。

Protected Sub GvRevisionInfo2_OnSelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
    Dim gridView As GridView = CType(sender,GridView)
    Dim label As Label = CType(gridView.SelectedRow.FindControl("lblCountry"),Label)
    Dim country As String = label.Text
End Sub