2012-01-25 2 views
0

Я пытаюсь решить проблему для модального диалога jQuery UI, который содержит несколько элементов управления asp, которые имеют события на стороне сервера. Каждый раз, когда нажимается кнопка asp в диалоговом окне, модальный диалог закрывается. У этих контроллеров asp есть логика на стороне сервера, которая просто выполняется для взаимодействия с модальным.Как предотвратить закрытие модального диалога jQuery при нажатии кнопок asp внутри диалога?

Я включил логику добавления диалога в форму (см. Ниже). Приложение appendTo хорошо работает для других диалогов в моем решении, которые имеют элементы управления, которые поддерживают обратную передачу.

Единственное отличие для этого модального заключается в том, что Div содержится внутри пользовательского элемента управления.

Ниже приведен сценарий, который используется, чтобы открыть диалоговое окно:

var $splitdialog; 

// render html using web service, then GetSplitViewComplete will open the modal dialog 

openDistributedReferenceCodesSplitModalDialog = function (splitdialogDivId, EntityType, EntityId, AllowAdd, AllowAdhoc) { 
    $splitdialog = $("#" + splitdialogDivId); 
    $splitdialog.empty(); 
    WebServices.DistributedReferenceCodesService.GetSplitView(EntityType, EntityId, AllowAdd, AllowAdhoc, GetSplitViewComplete); 
}; 

GetSplitViewComplete = function (result) { 
    // neccessary to support postback for button, dropdowns, etc on modal 
    $splitdialog.append(result.InnerHtml); 
    $splitdialog.dialog({ width: 800 }, { height: 'auto' }, { modal: true }); 
    $splitdialog.parent().appendTo($("form:first")); 
}; 

Ваши предложения приветствуются.

+0

могли бы вы предоставить более подробную информацию о различиях с диалогами, которые делают работу. Какие средства контроля используются? Элементы управления ASP.NET, элементы управления Ajax Toolkit, элементы управления JQuery UI? –

+0

Разница с этим диалогом заключается в том, что div, который используется для открытия диалогового окна, находится в пользовательском элементе управления. Пользовательский элемент управления повторяется внутри списка. Я открываю модальный диалог jQuery, добавляя скрипт к кнопке, которая включает уникальный идентификатор для открытия div в качестве модального. Спасибо. – ghoh

+0

Извините, не может помочь вам отсюда. С ними работать недостаточно. Всегда сложно найти эти проблемы, когда вы смешиваете поведение ajax с элементами управления сервером, которые не являются ajaxified. Я не говорю, что это невозможно, но я стараюсь избегать этого как можно большего. –

ответ

0

Я думаю, что вы захотите использовать UpdatePanel для предотвращения закрытия модального всплывающего окна. Попробуйте что-то вроде этого ...

http://patelshailesh.com/index.php/why-does-modalpopup-close-on-postback

+0

Благодарим вас за информацию, но это не решает эту проблему. В элементе управления пользователя используется div, который используется для открытия модального диалога jQuery. Содержимое, отображаемое в модальном диалоговом окне, является другим пользовательским элементом управления, который отображается через веб-сервис. Элементы управления ASP, которые имеют события на стороне сервера, которые должны обрабатываться до того, как модальные закрытия будут содержаться на панели обновления. – ghoh