2009-03-14 8 views
0

raise_alarm()という名前のメソッドがあり、jqueryに基づいてメッセージボックスを表示しています。しかし、私がこのメソッドをUpdatePanelの内部にあるコントロール(submitボタンなど)のイベントから呼び出すと、動作していません。関連するコードは以下の通りです。どうすれば修正できますか?UpdateパネルでJqmodalが動作しない

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.ClientScriptScriptManagerに置き換えました。

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

関連する問題