1

我正在处理付款页面,我想显示一个弹出窗口来显示您的付款正在处理的消息。所以现在我正在使用 CustomValidator 和提交按钮。我想在 Args 有效时显示此弹出窗口。我的代码是。

<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="" OnServerValidate="CustomValidator1_ServerValidate"
                                            EnableClientScript="true" ValidationGroup="Authorize"></asp:CustomValidator>

<asp:Button ID="SubmitButton" runat="server" Text="Pay now" CausesValidation="true" CssClass="blue paynow" style="width:200px;"
                                                ValidationGroup="Authorize" OnClick="SubmitButton_Click" OnClientClick="validate(ContentPlaceHolder1_chk_agree);" />
4

2 回答 2

1

要在验证后显示消息框,您可以执行以下操作:
将以下 javascript 添加到您的<head>

<script language="javascript">
    function SubmitButton_ClientClick()
    {
       bool isValid = Page_ClientValidate("Authorize"); //triggers validation
       if (isValid)
       {
           alert('Your payment is processing');
       }

       return isValid;
    }
</script>

然后,像这样更改您的按钮:

<asp:Button ID="SubmitButton" runat="server" Text="Pay now" CausesValidation="true" 
            CssClass="blue paynow" style="width:200px;"
            ValidationGroup="Authorize" OnClick="SubmitButton_Click"  
            OnClientClick="return SubmitButton_ClientClick();" />

更好的方法是使用弹出 div - 这是一个非常基本的示例:

在你的某处添加这个<body>

<div id="popup_box" style="height:300;width:300;position:absolute;top:150;left:350;border:3px solid red;background:#d8d8d8;display:none;">
    <h1>Payment is processing</h1>
    <button id="popupBoxClose" onclick="document.getElementById("popup_box").style.display = 'none';">Close</button>
</div>

并修改SubmitButton_ClientClick如下:

function SubmitButton_ClientClick()
{
   bool isValid = Page_ClientValidate("Authorize"); //triggers validation
   if (isValid)
   {
      document.getElementById("popup_box").style.display = '';
   }

   return isValid;
}
于 2012-11-22T11:31:57.680 回答
1

一种更好的方法是使用“updateProgress”。

将您的提交按钮放在 updatePanel 中,并在 updateProgress 中放置一个加载 gif 图像,当付款进度进行时,它将在加载图像下方显示,并在付款完成后自动关闭。

在此处输入图像描述 正在加载....

<asp:UpdateProgress id="updateProgress" runat="server">
     <ProgressTemplate>
            <asp:Image ID="imgUpdateProgress" runat="server" ImageUrl="~/images/loadingNew.gif" AlternateText="Loading ..." ToolTip="Loading ..."/>
     </ProgressTemplate>
</asp:UpdateProgress>
于 2012-11-22T11:52:53.117 回答