我在这样的幻灯片中有一个<label ID="lblContent">
:
<asp:Panel ID="pnlResult" runat="server" Visible="false" class="slideshow-container1" style="height:300px;margin-left: 0px;">
<asp:DataList ID="dlResults" runat="server" OnItemDataBound="dlResults_ItemDataBound">
<ItemTemplate>
<div class="mySlides1>
<a href="AnotherPage.aspx">
<asp:Label ID="lblContent" runat="server" Text="" ></asp:Label>
</a>
</div>
</ItemTemplate>
</asp:DataList>
<a class="prev1" onclick="plusSlides1(-1)">❮</a>
<a class="next1" onclick="plusSlides1(1)">❯</a>
</asp:Panel>
我的网页自动生成具有相同ID的跨度,总是像这样
<span id="ctl00_ContentPlaceHolder1_dlResults_ctl02_lblContent"> bla bla </span>
<span id="ctl00_ContentPlaceHolder1_dlResults_ctl01_lblContent"> bla bla </span>
然后,我们看到ID每次ct101
,ct102
...幻灯片起作用
我想每次识别当前ID,因为我需要在href
是否有可能在JS
或其他情况下进行此操作,非常感谢您!
在itemDatabound事件中,您可以为创建的每个标签获得clientid,例如
protected void dlResults_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label contentLabel = (Label)e.Item.FindControl("lblContent");
someGlobalString += "var contentLabel = document.getElementByID("" + contentLabel.ClientId + "");rn";
}
}
然后,您可以使用它动态创建您的JavaScript,然后将其注入页面,例如
protected void Page_PreRender(object sender, EventArgs e)
{
if (!(Page.ClientScript.IsStartupScriptRegistered("MyScript")))
Page.ClientScript.RegisterStartupScript(GetType(), "MyScript", someGlobalString, true);
}