需要在ASP.net数据列表的单个记录中识别特定元素的ID

Need To Identify A Specific Element's ID In An Individual Record Of An ASP.net Datalist

本文关键字:识别 ID 元素 记录 单个 ASP net 数据 列表      更新时间:2023-09-26

使用VB.net。我有一个网页与asp.net数据表在数据表。使用单击图像(位于单个数据记录中),我想在同一数据记录中隐藏表的一行。我使用一个javascript的onclick和数据主义者的ItemDataBound图像来完成这一点。不能让它工作。什么也不会发生。

Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound
Dim imgDetails As HtmlImage = CType(e.Item.FindControl("imgDetails"), HtmlImage)
Dim detailsTR As HtmlTableRow = CType(e.Item.FindControl("detailsTR"), HtmlTableRow)
imgDetails.Attributes.Add("onclick", "javascript:document.getElementById('" & detailsTR.ID & "').style.display = 'none';")
End Sub

我认为的问题是要么与ID内的数据,或者我的javascript是关闭的(虽然我可以得到它所有的工作外的数据)。也许有一种方法(ClientID?? ?)为数据主义者????的每个记录中的表行设置唯一的ID

您可以像这样访问控件的ClientID…

CType(e.Item.FindControl("imgDetails"), HtmlImage).ClientID

或者,在你的数据列表中,你可以使用:<%#Container。ItemIndex %>为您的行提供唯一索引,然后您可以在后面的代码中访问它。

<asp:datalist id="DataList1" runat="server">
    <itemtemplate>
        <%#Container.ItemIndex+1 %>
    </itemtemplate>
</asp:datalist>