Afficher un alert javascript dans du code behind VB net
domikawax
Messages postés8Date d'inscriptionjeudi 25 avril 2002StatutMembreDernière intervention23 janvier 2007
-
1 juil. 2004 à 11:59
domikawax
Messages postés8Date d'inscriptionjeudi 25 avril 2002StatutMembreDernière intervention23 janvier 2007
-
1 juil. 2004 à 13:40
Bonjour à tous,
J'ai un formulaire ASP.Net avec des contrôles WEbForms.
Sur le click d'un bouton, je veux vérifier les saisies dans ces différents contrôles et afficher une boite de dialogue javascript (ou autre) indiquant les saisies à corriger.
domikawax
Messages postés8Date d'inscriptionjeudi 25 avril 2002StatutMembreDernière intervention23 janvier 2007 1 juil. 2004 à 13:40
Merci à toi jesusonline
c'est tout à fait ce qu'il me fallait
J'ai pas tout compris mais c'est grave, je vais essayer de m'y attacher
Je remets ici ton bout de code :
copier le code qui suit dans votre code behin VB.Net
Public Class MessageBox
Private m_executingPages As Hashtable = New Hashtable
Public Sub Show(ByVal sMessage As String)
'// If this is the first time a page has called this method then
If Not m_executingPages.Contains(HttpContext.Current.Handler) Then
' // Attempt to cast HttpHandler as a Page.
Dim executingPage As Page = HttpContext.Current.Handler
If Not executingPage Is Nothing Then
'// Create a Queue to hold one or more messages.
Dim messageQueue As Queue = New Queue
'// Add our message to the Queue
messageQueue.Enqueue(sMessage)
'// Add our message queue to the hash table. Use our page reference
'// (IHttpHandler) as the key.
m_executingPages.Add(HttpContext.Current.Handler, messageQueue)
'// Wire up Unload event so that we can inject
'// some JavaScript for the alerts.
'executingPage.Unload += new EventHandler( ExecutingPage_Unload );
AddHandler executingPage.Unload, AddressOf ExecutingPage_Unload
End If
Else
'// If were here then the method has allready been
'// called from the executing Page.
'// We have allready created a message queue and stored a
'// reference to it in our hastable.
Dim Queue As Queue = CType(m_executingPages(HttpContext.Current.Handler), Queue)
'// Add our message to the Queue
Queue.Enqueue(sMessage)
End If
End Sub
'// Our page has finished rendering so lets output the
'// JavaScript to produce the alert's
Private Sub ExecutingPage_Unload(ByVal sender As Object, ByVal e As System.EventArgs)
'// Get our message queue from the hashtable
Dim Queue As Queue = CType(m_executingPages(HttpContext.Current.Handler), Queue)
If Not Queue Is Nothing Then
Dim sb As New System.Text.StringBuilder
'// How many messages have been registered?
Dim iMsgCount As Integer = Queue.Count
'// Use StringBuilder to build up our client slide JavaScript.
sb.Append("<script language='javascript'>")
'// Loop round registered messages
Dim sMsg As String
Do While iMsgCount > 0
sMsg = Queue.Dequeue().ToString
sMsg = sMsg.Replace("\n", "\\n")
sMsg = sMsg.Replace("""", "'")
sb.Append("alert( """ + sMsg + """ );")
iMsgCount -= 1
Loop
'// Close our JS
sb.Append("</script>".ToString)
'// Were done, so remove our page reference from the hashtable
m_executingPages.Remove(HttpContext.Current.Handler)
'// Write the JavaScript to the end of the response stream.
HttpContext.Current.Response.Write(sb.ToString())
End If
End Sub
End Class
Puis il vous reste à instancier la classe comme suit :
Dim mb As New MessageBox
mb.Show("Coucou !!!")