ネストされたリピーターがあり、ネストされたリピーターの各アイテムにはラベルとボタンがあります。ボタンがクリックされたときに label.text にアクセスできるようにしたいのですが、インデックスを返すことができるので、ほぼそこにいると思いますクリックされたリピーターとネストされたリピーター、ラベル自体を見つけるのに苦労しています。
私がリピーターコードを投稿しなくても、あなたは私を助けることができるかもしれません. ボタンがクリックされたときの私のコードビハインドは次のとおりです。
Protected Sub btnEditUser_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim btnEditUser As Button = DirectCast(sender, Button)
Dim reClient As RepeaterItem = DirectCast(btnEditUser.NamingContainer.Parent.Parent, RepeaterItem)
Dim reUser As RepeaterItem = DirectCast(btnEditUser.NamingContainer, RepeaterItem)
Dim selectedClient As Integer = reClient.ItemIndex
Dim selectedUser As Integer = reUser.ItemIndex
Dim UserId As Label = DirectCast(reClients.Items(selectedClient).FindControl("lUserName"), Label)
Response.Write(selectedClient & " " & selectedUser & " " & UserId.Text)
End Sub
現在、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。UserId.Text の値を書き込もうとすると、この行で少し間違っていると思います:
Dim UserId As Label = DirectCast(reClients.Items(selectedClient).FindControl("lUserName"), Label)