2017-03-08 114 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); 
相关问题