更新面板,确认按钮和更新进度似乎不能一起工作

时间:2014-06-09 15:27:22

标签: c# javascript jquery asp.net

目前我没有运气试图让他们三个一起工作,我只有运气更新面板和更新进度到目前为止没有确认按钮。

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
            <ContentTemplate>
                <asp:Button ID="btnEnter" runat="server" Text="Update" Width="180" Style="margin-left:157px;" 
                    OnClick="btnEnter_Click"  
                    CssClass="button-success pure-button"/>

                <asp:ConfirmButtonExtender ID="ConfirmButtonExtender1" runat="server"
                    TargetControlID="btnEnter"
                    ConfirmText="Do you want to see submit?"
                    ConfirmOnFormSubmit="false">
                </asp:ConfirmButtonExtender> 
            </ContentTemplate> 
        </asp:UpdatePanel>
        <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1"> 
            <ProgressTemplate> 
                <div class="overlay"></div>
                <div class="modal">
                <h2>Please Wait.....</h2>
                    <img alt="Loading..." src="/Images/loading.gif" />
                </div>
            </ProgressTemplate>
        </asp:UpdateProgress>

我之前使用过javascript函数确认并已将其取出 这只是按钮上的onclientclick       OnClientClick =&#34;返回确认(&#39;您确定要提交吗?&#39;);&#34;   但是我需要在要求提交之前先检查页面的验证,但我对此一无所知。

这里是按钮的后面代码atm。

protected void btnEnter_Click(object sender, EventArgs e)
    {
        if(Page.IsValid )
        {
        }
    }

2 个答案:

答案 0 :(得分:1)

使用客户端,您可以更轻松,更高效地执行此操作:

您只需在<asp:Button ID="btnEnter"控件中添加onclientclick属性,然后从代码中删除<asp:ConfirmButtonExtender ID="ConfirmButtonExtender1"

那将是这样的:

   <asp:Button ID="btnEnter" runat="server" Text="Update" 
               Width="180" Style="margin-left:157px;" 
               OnClick="btnEnter_Click"  
               CssClass="button-success pure-button"
               OnClientClick="return confirm('Do you want to see submit?');"/>

那就是它!

所以你不要需要asp:ConfirmButtonExtender

更新1

如果您需要首先检查后面代码的条件,那么您可以使用以下代码:

 protected void btnEnter_Click(object sender, EventArgs e)
 {
    if(Page.IsValid )
    {
          ScriptManager.RegisterStartupScrip(UpdatePanel1, this.GetType(), 
      "confirm", "return confirm('Are you sure you want to submit?');", true);
    }
}

答案 1 :(得分:0)

尝试使用jquery验证表单,然后在valiation成功时抛出确认对话框。

function ValidateForm(){
    //validation

    if(succeeded){
    return confirm('are you sure?');
   }else{
     return false
    }
}


$(document).ready(function(){
   $('#' + '<%= btnEnter.ClientID %>').click(function(){
    return ValidateForm();
   });
});