0

我有一个 asp.net 页面。&我正在从这里使用 jquery 确认插件。 https://craftpip.github.io/jquery-confirm/

我希望当用户单击按钮时,系统会提示他们输入确认对话框,并且当他们说确认时,只有这样我在服务器上的按钮单击才会被触发。我不想使用window.confirm对话框。

我能够通过 Button 的ClientClick属性手动使用 jquery 确认和调用回发。

事件__doPostBack正在触发。但是,该按钮在服务器端的单击事件不会被触发。

我错过了什么?

ASPX 代码:

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Tester.aspx.cs" Inherits="BLF_Gauri.Tester" %>

<html>
<head>
    <script src="Scripts/jquery-2.1.0.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.2.3/jquery-confirm.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.2.3/jquery-confirm.min.js"></script>

</head>
<body>
    <form runat="server">
        <asp:Button ID="Button2" runat="server" Text="YEs" OnClick="Button2_Click"  
OnClientClick="return TestClick(this);" />
    </form>

    <script type="text/javascript">

        function TestClick(x)
        {
            jQuery.confirm({
                title: 'Confirm!',
                content: 'Simple confirm!',
                buttons: {
                    confirm: function () {
                        __doPostBack("'" + x.id + "'", 'OnClick');
                    },
                    cancel: function () {
          //              Do Nothing
                    }
                }
            });
            return false;
        }
    </script>


</body>
</html>

背后的代码:(简化)

protected void Page_Load(object sender, EventArgs e)
        {
           //IT COMES HERE.
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            //IT DOES NOT COME HERE.
        }
4

1 回答 1

0

所以我解决了这个!我没有使用__dopostback这个。

WebForm_DoPostBackWithOptions(
      new WebForm_PostBackOptions("" + x.name + "", "", true, "", "", false, true));

x.name coz 在母版页中。身份证更改。

于 2017-07-06T13:44:08.257 回答