好吧,我有一个asp:ListView
,每个项目都包裹在asp:Panel
(div
)中。我在OnClick
上为asp:Panel
事件添加了处理程序,以将点击重定向到asp:LinkButton
,这将触发itemCommand
事件处理程序。
<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
答案 0 :(得分:0)
您可以更改代码(将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>