我在iFrame中有一个简单的ASP.NET按钮,出于奇怪的原因,我必须点击它两次才能触发事件。
<asp:Button ID="btnSaveComment" runat="server" Text="Add Comment"
CssClass="button"
OnClick="btnSaveComment_Click"
ValidationGroup="add" />
protected void btnSaveComment_Click(object sender, EventArgs e)
{
AddComment();
}
答案 0 :(得分:4)
我怀疑当你最初点击按钮上方的区域时,你将焦点放在iframe
(也就是说,其中的页面),然后在第二次点击时,鼠标可以与按钮。
另一方面,如果页面似乎回发但实际上没有做任何事情,直到第二次点击,那么它可能与页面生命周期有关,正如@AndroidHustle的回答评论所示。
编辑:
为了测试框架是否聚焦的理论,尝试通过脚本给予焦点。以下内容可能有所帮助:
<script type="text/javascript">
document.getElementById("iFrameId").focus();
</script>
答案 1 :(得分:0)
我遇到了同样的问题。以下是我解决它的方法:
$("#MainContent_Button1").hover(function (event) {
$("#MainContent_Button1").click()
});
现在它只需要点击一下,按钮的功能就像它应该的那样。
<asp:Button ID="Button1" runat="server" Text="Save Payment Plan" OnClick="Button1_Click" />