我可以在转发器中使用 Click 事件,转发器位于更新面板中。我使用 div 作为尝试单击 LinkButton 的触发器。
protected void rpt_product_ItemCreated(object sender, RepeaterItemEventArgs e)
{
HtmlGenericControl div_product = (HtmlGenericControl)e.Item.FindControl("div_product");
LinkButton lnk_product = (LinkButton)e.Item.FindControl("lnk_product");
lnk_product.ClientIDMode = ClientIDMode.Static;
lnk_product.ID = "lnk_product_" + (e.Item.ItemIndex + 1);
div_product.Attributes.Add("onclick", "document.getElementById('" + lnk_product.ClientID + "').click()");
}
在浏览器中出现错误:
Image (async)
_updatePanel @ ScriptResource.axd?d…YI5aZ0&t=3d6efc1f:5
_scriptIncludesLoadComplete @ ScriptResource.axd?d…YI5aZ0&t=3d6efc1f:5
(anonymous) @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
(anonymous) @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
_loadScriptsInternal @ ScriptResource.axd?d…YI5aZ0&t=3d6efc1f:5
_nextSession @ ScriptResource.axd?d…YI5aZ0&t=3d6efc1f:5
loadScripts @ ScriptResource.axd?d…YI5aZ0&t=3d6efc1f:5
_onFormSubmitCompleted @ ScriptResource.axd?d…YI5aZ0&t=3d6efc1f:5
(anonymous) @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
(anonymous) @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
completed @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
_onReadyStateChange @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
XMLHttpRequest.send (async)
executeRequest @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
executeRequest @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
invoke @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
_onFormSubmit @ ScriptResource.axd?d…YI5aZ0&t=3d6efc1f:5
_doPostBack @ ScriptResource.axd?d…YI5aZ0&t=3d6efc1f:5
(anonymous) @ ScriptResource.axd?d…qOX341&t=3d6efc1f:5
(anonymous) @ VM7570:1
你有什么想法吗?我怎样才能毫无问题地使用javascript点击事件。如果用户点击 div,我想点击链接按钮。
更新面板 > 中继器 > Div > LinkButton
最佳答案
我重新创建了中继器(我想,如果您下次也发布它,那将会非常有帮助)。
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Repeater ID="rpt_product" runat="server" OnItemCreated="rpt_product_ItemCreated">
<ItemTemplate>
<div id="div_product" runat="server">
<asp:LinkButton ID="lnk_product" runat="server" OnClick="lnk_product_Click">LinkButton</asp:LinkButton>
Div Contents
</div>
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
问题可能是您正在更改 LinkButton 的 ID。所以删除lnk_product.ID = "lnk_product_" + (e.Item.ItemIndex + 1);
。你不需要改变它。然后就可以工作了。
关于javascript - 更新面板中中继器中的 LinkButton onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53020108/