單擊我使用一個asp.net中繼器在我的asp.net頁面這樣的:上LinkButton的改變標籤內轉發
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Label ID="lblsSICCode" runat="server" Text='<%# Eval("sSICCode") %>'></asp:Label>
<asp:LinkButton ID="lnkSelect" runat="server" CommandArgument='<%# Eval("sSICCode") %>' OnCommand="LinkButton1_Command" CommandName="MyUpdate">Select</asp:LinkButton>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("sSICCode") %>'></asp:Label>
</ItemTemplate>
</asp:Repeater>
我想改變,只要點擊一個LinkButton標籤文本。我正在使用以下代碼,但它會更改所有中繼器的標籤。所選行前的Label1應該獲得mylabel的值。
Protected Sub LinkButton1_Command(sender As Object, e As CommandEventArgs)
If e.CommandName = "MyUpdate" Then
For Each RI As RepeaterItem In Repeater1.Items
Dim MyLabel As Label = TryCast(RI.FindControl("lblsSICCode"), Label)
If MyLabel IsNot Nothing Then
If MyLabel.Text = e.CommandArgument Then
Response.Write(e.CommandArgument + "<br />")
End If
End If
Next
End If
End Sub
你並沒有真正將循環限制在你關心的特定項目上;它正在執行所有內容。你需要檢查你想要的特定項目是否是正確的索引/包含正確的元素等等。 – Tejs