Jqmodal не работает в панели обновления - PullRequest
0 голосов
/ 14 марта 2009

У меня есть метод по имени rise_alarm (), который показывает окно сообщения на основе jquery. Но когда я вызываю этот метод из события элемента управления (такого как кнопка отправки), который находится внутри панели обновления, он не работает. Связанные коды ниже. Как я могу это исправить?

 Public Sub Raise_Alarm(ByVal p_Page As Page, ByVal p_Message As String, Optional ByVal p_IsError As Boolean = True)
        Dim strScript As String
        strScript = "$(function() { Mesaj('" & p_Message & "'); });" & ControlChars.NewLine
        p_Page.ClientScript.RegisterStartupScript(p_Page.GetType(), "alert", strScript, True)
end sub

Private Sub dtlQuestion_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dtlQuestion.ItemCommand
        If Not User.Identity.IsAuthenticated Then
            Raise_Alarm(Me, "Giriş Yapmadan Oy Veremezsiniz")
            Exit Sub
        End If
end sub

1 Ответ

1 голос
/ 14 марта 2009

Вы должны использовать ScriptManager вместо p_Page.ClientScript.

РЕДАКТИРОВАТЬ: Пример. Я заменил p_Page.ClientScript на ScriptManager в вашем коде.

Public Sub Raise_Alarm(ByVal p_Page As Page, ByVal p_Message As String, Optional ByVal p_IsError As Boolean = True)
        Dim strScript As String
        strScript = "$(function() { Mesaj('" & p_Message & "'); });" & ControlChars.NewLine
        ScriptManager.RegisterStartupScript(p_Page.GetType(), "alert", strScript, True)
end sub

Private Sub dtlQuestion_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dtlQuestion.ItemCommand
        If Not User.Identity.IsAuthenticated Then
            Raise_Alarm(Me, "Giriş Yapmadan Oy Veremezsiniz")
            Exit Sub
        End If
end sub

ClientScript не поддерживает AJAX, ScriptManager знает, как обрабатывать частичные обратные передачи Пожалуйста, ознакомьтесь с этой статьей на MSDN .

...