2015-05-20 94 views
0

我在ASP.net/VB中有以下代碼。 當在頁面上按下按鈕時,div_yes_no(見下面的代碼)彈出爲YesNO消息。該彈出窗口顯示兩個按鈕(YES和NO)asp.net popup按鈕沒有觸發VB代碼後面,只是javascript

<div id="div_yes_no" class="messagepopup" runat="server"> 
      <br/> 
      <span class="desc">Are you sure you want to transfer this data (Y/N) ?</span> 
      <br/> 
      <asp:Button ID="btnYES" runat="server" Text="Yes" OnClientClick="ShowCoverNONE(''); Hide2();" OnClick="btnYES_Click" CssClass="STD_button" /> 
      <asp:Button ID="btnNO" runat="server" Text="No" OnClientClick="ShowCoverNONE(''); Hide2();" CssClass="STD_button" />   
     </div> 

這是VB代碼應該運行btnYES被點擊時:

Protected Sub btnYES_Click(sender As Object, e As EventArgs) 
     MsgBox("hello") 
     .... actual code 
    End Sub 

的問題是btnYES_Click代碼不點火,只是JavaScript的火災:OnClientClick =「ShowCoverNONE(''); Hide2();」

任何想法什麼是缺失和或如何做到這一點更好的方式?

回答

0

當您在Windows窗體應用程序中使用它時,不能在ASP.NET中使用MsgBox(「hello」)。你可以嘗試刪除它嗎?

+0

對不起,我知道msgbox在一個「實時」網站上,但是在測試它的時候是有效的。它只是爲了我看看代碼是否運行......但它不是。無論如何,我已經刪除它,但仍然沒有任何反應。 – user1135218

0

ASP.Net與VB.NET作爲Code-behind通常不使用按鈕上的OnClick屬性。相反,您需要在您的VB.Net代碼隱藏代碼中添加帶有按鈕名稱的句柄子句。像這樣:

Protected Sub btnYES_Click(sender As Object, e As EventArgs) Handles btnYES.Click 
     MsgBox("hello") 
     .... actual code 
End Sub 

請看這頁:How to use OnClick and OnClientClick events to Prevent Double Clicking on your ASP.Net Buttons

+0

不幸的是,這也不起作用。我有其他的VB在同一頁面上,沒有句柄的原因,它的作品(我把它拿出來,因爲它導致雙擊)。 – user1135218

0

好的,我終於找到了這個問題的答案。對於其他人在他們遇到了相同的情況下,問題是,代碼

asp:Button ID="btnYES" runat="server" Text="Yes" OnClientClick="ShowCoverNONE(''); Hide2();" OnClick="btnYES_Click" CssClass="STD_button" /> 

不是阿賈克斯的ContentTemplate/UpdatePanel的範圍內:

</ContentTemplate> 
</asp:UpdatePanel> 

有一次,我把它放在那裏,它的所有工作正常。

相關問題