Вы можете вызвать webmethod, используя ajax
, а затем действовать в соответствии с ним в зависимости от ответа. Пусть ваш веб-метод просто вернет true/false
, и затем вы можете проверить это значение на стороне клиента.
Выполните этот код при нажатии кнопки отправки и не закрывайте диалоговое окно. Пусть обработчик успеха решит, закрыть его или нет.
$.ajax({
url: "urlOfTheService.asmx/methodName",
success: function(response){
if(response == true){
//Code to close the dialog
}
else{
//Show the error message
}
}
});
ajax()
ссылка: http://api.jquery.com/jQuery.ajax/
Обновление:
Используйте событие open
диалогового окна, чтобы присоединить обработчик отправки к форме и выполнить приведенный выше код.
jQuery(function () {
var dlg = jQuery("#dialog").dialog({
draggable: true,
resizable: true,
show: 'Transfer',
hide: 'Transfer',
width: 320,
autoOpen: false,
minHeight: 10,
minwidth: 10,
open: function(){
$(this).find('form')
.unbind('submit')
.submit(function(){
var $form = $(this);
$.ajax({
url: "urlOfTheService.asmx/methodName",
success: function(response){
if(response == true){
//Submit the form
$form.unbind('submit')[0].submit();
}
else{
//Show the error message
}
}
});
return false;
});
}
});
dlg.parent().appendTo(jQuery("form:first"));
});