Нажатие кнопки запуска asp.net на стороне сервера от обратной передачи вручную

У меня есть страница asp.net. & Я использую JQuery подтвердить плагин здесь. https://craftpip.github.io/jquery-confirm/

Я хочу, чтобы, когда пользователь нажимал кнопку, ему предлагали диалоговое окно подтверждения, а когда говорят "подтвердить", только тогда мое нажатие кнопки на сервере должно быть запущено. Я не хочу использовать window.confirm Диалог.

Я был в состоянии использовать JQuery подтвердить и позвонил постбэка вручную через кнопки ClientClick имущество.

__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.
        }

1 ответ

Так что я решил это!! Вместо того, чтобы использовать __dopostback Я использовал это.

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

x.name coz внутри главной страницы. идентификатор меняется.

Другие вопросы по тегам