powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Разрешить или запретить постбэк
7 сообщений из 7, страница 1 из 1
Разрешить или запретить постбэк
    #37817653
maxterbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хочу вызвать диалоговое окно перед постбеком, но не ввиде стандартной функции

Код: c#
1.
2.
 <asp:Button ID="Button1"
runat="server" Text="Button" OnClick="Button1_Click" OnClientClick = "return confirm('post back to the server');"  />



а в виде всплывающего слоя, на котором пользователь будет нажимать OK / Cancel. Как это лучше всего сделать?
...
Рейтинг: 0 / 0
Разрешить или запретить постбэк
    #37817977
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовать любой js скрипт, или ModalPopup
...
Рейтинг: 0 / 0
Разрешить или запретить постбэк
    #37818077
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
if (typeof (jQuery) != 'undefined') {
    jQuery(function () {
        jQuery.fn.exists = function () { return this.length > 0; };

        if (typeof (jQuery.fn.dialog) != 'undefined') {
            initConfirmDialog();
        }
    });
}

function initConfirmDialog() {
    var cnfrm = '#cnfrm';

    if (!$(cnfrm).exists())
        $(document.body).append("<div style='display:none' id='cnfrm'><p></p></div>");

    $(cnfrm).dialog(
                {
                    autoOpen: false,
                    modal: true,
                    show: 'fade',
                    speed: '200',
                    buttons: {
                        "Да": function () {
                            $(this).dialog("close");

                            if (lcallback) {
                                isp = true;

                                lcallback(lcallbacksender);

                                isp = false;
                            }
                        },

                        "Нет": function () {
                            $(this).dialog("close");
                            return false;
                        }
                    }
                });

    window.confirm = function (mess, callback, sender) {

        //console.log(arguments[0]);

        if (mess == "")
            return false;

        if (!isp) {
            lcallback = callback;
            lcallbacksender = sender; // arguments.callee.caller - not all browsers send valid arguments (

            $(cnfrm + ' p').html(mess);
            $(cnfrm).dialog('open');

            return false;
        }
    };
}



Код: plaintext
1.
2.
3.
4.
5.
<script type="text/javascript" src="/Scripts/jQuery-UI/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/Scripts/jQuery-UI/jquery-ui-1.8.16.custom.min.js"></script>

<asp:Button ID="Button1"
runat="server" Text="Button" OnClick="Button1_Click" OnClientClick = "return confirm('Post back to the server?', function(sender){sender.click();}, this);"  />



Please :)
...
Рейтинг: 0 / 0
Разрешить или запретить постбэк
    #37818189
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS, шотамногабукав :)
...
Рейтинг: 0 / 0
Разрешить или запретить постбэк
    #37818226
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSanSYS, шотамногабукав :)
мда.. да еще и не правильно
Я забыл указать следующее обявление:

Код: javascript
1.
2.
3.
var lcallback = function() {};
var lcallbacksender = null;
var isp = false;



по существу - я понятия не имею как правильно переопределить confirm, потому сделал такой костыль, который более-менее можно нормально использовать во всех браузерах

Был заказчик, грит хочу красивые алерты, ну там благо все совсем просто
Прошло время - появилось несколько конфирмов, ну и я далеко не стал уезжать, сделал по тому же принципу но на скорую руку, собственно сюда и скинул как нашел в старых бекапах
Там еще и prompt переопределяется

Все руки не дойдут нормального javascript-кодера какого нить попросить отрефакторить (или переписать все заново), т.к. javascript как таковой я не знаю и, очевидно, представленный код работает не оптимально, но он работает
...
Рейтинг: 0 / 0
Разрешить или запретить постбэк
    #37818422
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS, да ладно, если оно работает и это можно как-нить гибко оформить в отдельный контрол - не вопрос. Но я сторонник минимализма :)

P.S. Вариант от Парамона как нельзя лучше подходит для решения сабжа - всё в коробке под ключ, взял и кури.
...
Рейтинг: 0 / 0
Разрешить или запретить постбэк
    #37818462
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВариант от Парамона как нельзя лучше подходит для решения сабжа - всё в коробке под ключ, взял и кури.
Согласен
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Разрешить или запретить постбэк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]