2011-08-17 192 views
3

我有一个简单的ASP.NET按钮,里面的iFrame,奇怪的原因,我必须点击它两次才能触发一个事件。按钮需要点击两次以触发事件

<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

是不是因为您需要在正确的IFrame之前先点击该按钮。 – Jethro

+1

用翔实的答案[这里]类似的问题[1] [1]:http://stackoverflow.com/questions/297217/asp-net-c-need-to-press-a-button-两次发生的事情 – AndroidHustle

+1

@AndroidHustle:仅供参考:在评论中,您需要使用超链接的内联语法。你的例子的代码应该是:'[这里](http://stackoverflow.com/questions/297217/asp-net-c-need-to-press-a-button-twice-to-make-something-happen )',它显示如下:[这里](http://stackoverflow.com/questions/297217/asp-net-c-need-to-press-a-button-twice-to-make-something-happen ) – awe

回答

4

我怀疑,当你最初点击你给集中到iframe(也就是说,内页吧)按钮上方的区域,并在第二次点击鼠标可以与互动按钮。另一方面,如果页面似乎要回发但实际上没有做任何事情,直到第二次点击,那么它可能与页面生命周期有关,正如@AndroidHustle的回答评论中所建议的。

编辑:

要测试的框架是否被聚焦的理论,试图给它通过脚本集中。类似以下内容可能会有所帮助:

<script type="text/javascript"> 
    document.getElementById("iFrameId").focus(); 
</script> 
+0

在这个问题上的任何解决方法? –

+0

您可以使用Javascript/jQuery将焦点放在'iframe'上。 –

+0

我通过从aspx页面中删除按钮OnClick事件来修复并创建了一个OnPageLoad方法 –

0

我有同样的问题。下面是我如何解决它:

 $("#MainContent_Button1").hover(function (event) { 
      $("#MainContent_Button1").click() 
     }); 

现在它只需要1点击,并按钮功能就像它应该。

<asp:Button ID="Button1" runat="server" Text="Save Payment Plan" OnClick="Button1_Click" /> 
相关问题