У меня была та же проблема с поддержанием модального режима во время обратной передачи.
Мое решение:
Используйте EventTarget, чтобы определить, поступает ли обратная передача от элемента управления в модальном режиме, и оставьте модель открытой, если она есть. Обратная передача может исходить от элемента управления в моде, если модальное окно открыто.
В событии загрузки для элемента управления страницы, содержащего модальное. Определите, является ли постбэк от
мой ребенок. Определите, если это из элемента управления, который находится на модальной панели.
Protected Sub Control_Load(sende As Object, e As EventArgs) Handles Me.Load
If IsPostBack Then
Dim eventTarget As String = Page.Request.Params.Get("__EventTarget")
Dim eventArgs As String = Page.Request.Params.Get("__EventArgument")
If Not String.IsNullOrEmpty(eventTarget) AndAlso eventTarget.StartsWith(Me.UniqueID) Then
If eventTarget.Contains("$" + _credentialBuilder.ID + "$") Then
' Postback from credential builder modal. Keep it open.
showCredentialBuilder = True
End If
End If
End If
End Sub
В предварительном просмотре проверьте мой флаг и вручную покажите модальный
Protected Sub Control_PreRender(ByVal sende As Object, ByVal e As EventArgs) Handles Me.PreRender
If showCredentialBuilder Then
_mpeCredentialEditor.Show()
End If
End Sub