javascript - 更新面板中中继器中的 LinkBut​​ton onclick 事件

标签 javascript c# asp.net onclick click

我可以在转发器中使用 Click 事件,转发器位于更新面板中。我使用 div 作为尝试单击 LinkBut​​ton 的触发器。

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 > LinkBut​​ton

最佳答案

我重新创建了中继器(我想,如果您下次也发布它,那将会非常有帮助)。

<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>

问题可能是您正在更改 LinkBut​​ton 的 ID。所以删除lnk_product.ID = "lnk_product_" + (e.Item.ItemIndex + 1); 。你不需要改变它。然后就可以工作了。

关于javascript - 更新面板中中继器中的 LinkBut​​ton onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53020108/

相关文章:

javascript - 类型错误 : Cannot read property '_rawValidators' of null after Ng build

javascript - HTML 转 PDF(带日语)

c# - 如何获取附近攻击的数据来规避?

asp.net - EntityDataSource:TotalRowCount 返回 -1。那是什么?

c# - ASP.NET MVC 模型到带有附加辅助实体的 View 模型映射

javascript - 如何将网页保存到本地,包括图片等

javascript - 如何防止图像被复制

c# - 如何检查空的 IEnumerable<DataRow> 集合?

c# - MVVM轻消息-多个ViewModel实例

ASP.NET 用户控件并从 Javascript 访问属性?