Tôi có bộ lặp sau đây và tôi đang cố gắng tìm lblA ở mã phía sau và nó không thành công. Dưới đây đánh dấu là những nỗ lực tôi đã thực hiện:Không thể tìm thấy quyền kiểm soát trong bộ lặp asp.net?
<asp:Repeater ID="rptDetails" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><strong>A:</strong></td>
<td><asp:Label ID="lblA" runat="server"></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
Trước tiên tôi cố gắng,
Label lblA = (Label)rptDetails.FindControl("lblA");
nhưng lblA là vô
Sau đó, tôi cố gắng,
Label lblA = (Label)rptDetails.Items[0].FindControl("lblA");
nhưng Items là 0 mặc dù m repeater chứa 1 itemtemplate
Tôi là một chút bối rối. Những gì tôi đang thực sự làm là khi tôi nhấp vào liên kết Xem chi tiết trên 1 trang, nó sẽ đưa tôi đến chế độ xem chi tiết trên trang khác có bộ lặp và trong page_load, tôi đang cố định vị trí lblA – Xaisoft
Đã chỉnh sửa. Hy vọng rằng điều đó giải thích thêm một chút. –
Ok, những gì tôi đã làm là di chuyển một biến DataTable đến cấp cao nhất của lớp. Sau đó, tôi đã tạo ItemDataBoundEvent và trong đó tôi đã kiểm tra lblA trong bộ lặp và nếu nó tìm thấy nó, hãy đặt nó vào một số văn bản mà tôi đã lấy lại từ một hàng trong DataTable. Tôi có đúng trong sự hiểu biết của tôi về điều này? Cảm ơn – Xaisoft