我在中继器中有几个链接按钮。当我手动单击它们时,它们会很好地回发。我所有通过 javascript 点击 LinkButton 的尝试都失败了,我现在的想法已经用完了(谷歌也是如此,似乎找不到任何其他选项)。我试图在 OnClick 和 OnCommand 之间切换。
链接按钮:
<asp:Repeater ID="repItems" runat="server" OnItemDataBound="repItems_OnItemDataBound">
<ItemTemplate>
<asp:Panel ID="pnlItem" runat="server">
<asp:LinkButton ID="lnkItem" runat="server" OnClick="lnkItem_OnClick" OnCommand="lnkItem_OnCommand"></asp:LinkButton>
</asp:Panel>
</ItemTemplate>
</asp:Repeater>
Javascript:
eval(LinkButton.attr('href'); //Causes Sys.ParameterCountException
LinkButton.click(); //Nothing happens (no click event on LinkButton)
LinkButton.trigger('click'); //Same as LinkButton.click()
如果我将 OnClientClick 设置为回发,则 click() 函数开始工作,但我再次收到 Sys.ParameterCountException 错误:
lnkItem.OnClientClick = String.Format("__doPostBack('{0}', '');", lnkItem.UniqueID);
有人建议将 ScriptManager 更改为发布模式,但这并没有触发回发,它只是删除了错误消息。
eval(LinkButton.attr('href');
确实在谷歌浏览器中工作。