2017-03-08 47 views
0

通過彈出窗口,我的意思是w3school的彈出的javascript: https://www.w3schools.com/howto/howto_js_popup.asp如何讓asp.net按鈕在不重新加載頁面的情況下顯示一個彈出窗口?

我試圖把按鈕放在一個Ajax更新面板,但由於某些原因的JavaScript函數不會觸發。

<asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <div id="footerbuttons" class="questioncard"> 
       <div class="popup" onclick="savedPopup()"> 
        <asp:Button ID="SaveChangesButton" runat="server" Text="Save Changes" OnClick="SaveChangesButton_Click" BackColor="#F9AF19" Font-Size="Medium" /> 
        <span class="popuptext" id="savedPopup">Saved!</span> 
       </div> 
       <div class="popup" onclick="sentPopup"> 
        <asp:Button ID="SubmitButton" runat="server" Text="Submit to Supervisor" OnClick="SubmitButton_Click" BackColor="#F9AF19" Font-Size="Medium"/> 
        <span class="popuptext" id="sentPopup">Sent!</span> 
       </div> 
      </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 


    <script type="text/javascript"> 
    function savedPopup() { 
     var popup = document.getElementById("savedPopup"); 
     eval(popup.classList.toggle("show")); 
    } 

    function sentPopup() { 
     var popup = document.getElementById("sentPopup"); 
     eval(popup.classList.toggle("show")); 
    } 
    </script> 
+0

兩個事業部和ASP:按鈕有onclicks?嘗試刪除在DIV和ASP中的Onclick:按鈕位置OnClientClick =「savedPopup」 – Sailor

+0

剛剛嘗試過。當這樣做時,它不會觸發JavaScript或執行後端代碼。 – TroutIn2D

+0

更新函數savedPopup(){ var popup = document.getElementById(「savedPopup」); eval(popup.classList.toggle(「show」));返回false; }和asp:Button OnclientClick =「return savedPopup();」 – Sailor

回答

0

我認爲你需要的ContentTemplate標籤關閉後添加asyncPostBackTrigger。

<Triggers> 
<asp:AsyncPostBackTrigger ControlID="SaveChangesButton" EventName="Click" /> 
<asp:AsyncPostBackTrigger ControlID="SubmitButton" EventName="Click" /> 
    </Triggers> 

然後在後面的代碼

SaveChangesButton按鈕的Click事件

ScriptManager.RegisterStartupScript(this, this.GetType(), "savedPopup", "savedPopup();", true); 

,並提交按鈕按鈕的Click事件

ScriptManager.RegisterStartupScript(this, this.GetType(), "sentPopup", "sentPopup();", true); 
相關問題