как мне повторить нажатие кнопки закрытия стек-потока, чтобы заменить страницы подтверждения в asp.net-mvc - PullRequest
1 голос
/ 06 августа 2009

Я завладел asp.net mvc и у меня много действий, требующих подтверждения пользователя. Текущая реализация должна иметь отдельный просмотр для каждой из этих страниц подтверждения.

Я подумал, что было бы проще использовать jquery, чтобы всплывающее окно появилось, когда вы нажимаете «удалить пользователя», например, там отображается подтверждение пользователя («Вы уверены, что хотите удалить пользователя« xx »?)

Я хочу, чтобы это работало аналогично тому, когда вы нажимаете «ЗАКРЫТЬ» в вопросе переполнения стека. Вы получаете всплывающее окно для подтверждения и затем отправляете

есть предложения, с чего начать? Должно ли это быть другим представлением или этот код должен быть встроен в обычное представление с действиями? Я играл с образцами jquery, но чувствую, что все еще очень много думаю о наилучшей практике здесь.

Итак, я пошел посмотреть на страницу источника stackoverflow, чтобы посмотреть, что происходит, когда вы нажимаете кнопку закрытия, но все, что я вижу, это:

<a id="close-question-1238657" title="closes/opens question for answering; when closed, no more answers can be added">close</a>

Я не вижу, что вызывает всплывающее окно

Ответы [ 2 ]

4 голосов
/ 06 августа 2009

Посмотрите jQuery UI Dialog .

0 голосов
/ 06 августа 2009

Помимо диалогового окна jQuery UI, вы также можете попробовать SimpleModal от Eric Martin .

EDIT

Код, указанный в файле verify.js, содержит два определения метода. Одним из них является общий метод с именем confirm, который создаст модальное всплывающее окно с сообщением, которое вы хотите отобразить. Вы должны использовать этот метод всякий раз, когда хотите создать модальное всплывающее окно.

confirm("Are you sure you want to delete this item?", function() {
    //Here you will write the code that will handle the click of the OK button.
});

Здесь вторым аргументом является функция (это работает почти как делегат в C #). Что произойдет, так это то, что функция confirm покажет диалоговое окно, содержащее ваше сообщение, и когда пользователь нажмет любую кнопку, будет вызвана анонимная функция, переданная в качестве второго аргумента. Вы также можете написать «нормальную» функцию и передать ее в качестве второго аргумента confirm -

function callbackHandler() {
    //Here you will write the code that will handle the click of the OK button.
}

confirm("Are you sure you want to delete this item?", callbackHandler);

Эта функция будет вызывать вашу функцию -

// if the user clicks "yes"
dialog.data.find('.yes').click(function () {
    // call the callback
    if ($.isFunction(callback)) { callback.apply(); }
    // close the dialog
    $.modal.close();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...