2011-08-17 189 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" /> 
相關問題