2009-03-14 3 views
0

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

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

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

EDIT: Пример. Я заменил 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 знает, как иметь дело с частичными обратными передачами. Пожалуйста, быстро просмотрите this article on msdn.

+0

Не могли бы вы показать мне пример кода? – mavera

Смежные вопросы