首页 > 解决方案 > 在 asp:ListView 中捕获并重定向从 asp:Panel 到 asp:LinkBut​​ton 的点击事件

问题描述

好的,我有一个用( )asp:ListView包裹的每个项目。我已经为事件添加了一个处理程序,以将单击重定向到应该触发事件处理程序的位置。asp:PaneldivOnClickasp:Panelasp:LinkButtonitemCommand

<asp:ListView runat="server" ID="ddtvMediaLib" RepeatDirection="Horizontal" RepeatLayout="Flow" class="list-group" OnItemCommand="ddtvMediaLib_ItemCommand" OnItemDataBound="ddtvMediaLib_ItemDataBound" OnSelectedIndexChanging="ddtvMediaLib_SelectedIndexChanging">
                            <ItemTemplate>
                                <asp:Panel ID="ddtvMediaLibPanel" CssClass="list-group-item no-arrow" runat="server" Style="padding: 0">    
                                        <asp:Panel runat="server" Id="pnlSelect" CssClass="item-details" onClick="$('btnSelect').Click();">
                                            <asp:LinkButton runat="server" ID="btnSelect" Visible="false" CommandArgument='<%# Eval("Id") %>' CommandName="Select" ></asp:LinkButton>
                                  </asp:Panel>                                        
                                </asp:Panel>
                            </ItemTemplate>
                        </asp:ListView>

我的问题是,当我单击asp:Panel它时,它没有运行该itemCommand事件asp:ListView- 任何帮助表示赞赏。TIA

标签: javascriptc#asp.netwebforms

解决方案


您可以更改您的代码(将 onclick 更改为 onclientclick)并在代码隐藏中注册脚本。

<asp:Panel runat="server" Id="pnlSelect" CssClass="item-details" onClientClick="$('btnSelect').Click();">
                                            <asp:LinkButton runat="server" ID="btnSelect" Visible="false" CommandArgument='<%# Eval("Id") %>' CommandName="Select" ></asp:LinkButton>
                                  </asp:Panel>   

推荐阅读