Bonjour
Je commence � d�velopper en .NET et j'�prouve quelques difficult�s avec les dialogues. J'utilise les confirm() et alert() pour effectuer une validation et confirmation avant d'ex�cuter toute action c�t� serveur par l'entremise d'un bouton submit (fonction onclick()), et jusque l�, tout va bien. J'illustre donc mon probl�me � l'aide d'un exemple : J'aimerais apporter des suggestion � l'usager une fois le code c�t� serveur ex�cut�, selon le r�sultat de l'ex�cution. Je me suis donc cr�e une classe qui g�re les dialogues(alert() et confirm(), voir code plus bas) avec le client � l'aide des fonctions RegisterClientScriptBlock et RegisterStartupScript. Le probl�me est la fonction Confirm; je d�sire mettre la valeur de la d�cision de l'usager dans un champ cach� sur la page, et ex�cuter du code selon la d�cision de l'usager dans le page load(un peu comme dans la FAQ). Le probl�me est que le page load s'ex�cute avant le script, et la valeur de la d�cision n'est alors pas prise en charge par le page_load, elle n'est prise en charge que lors du prochain postback. J'aimerais savoir s'il existe une fa�on d'appeller un page_load ou d'ex�cuter un postback en javascript. �galement, je trouve ma fa�on de proc�der plut�t d�ficiante, mais c'est la seule que j'ai trouv� pour r�ussir � avoir un dialogue avec l'usager apr�s l'ex�cution de code.
Merci d'avance!![]()
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Function Alert(ByVal Msg As String, ByVal Pa As Page) 'Script à insérer (javascript de la fonction alert) Dim sb As New System.Text.StringBuilder sb.Append("<script language= javaScript>") sb.Append("<!-- " & vbCrLf) sb.Append(" alert(" & """" & Msg & """" & ");" & vbCrLf) sb.Append("--></script>" & vbCrLf) Pa.RegisterClientScriptBlock("Al", sb.ToString) End Function Function Confirm(ByVal Msg As String, ByVal TBName As String, ByVal Pa As Page) 'Script à insérer (javascript de la fonction confirm) Dim sb As New System.Text.StringBuilder sb.Append("<script language= javaScript>") sb.Append("<!-- " & vbCrLf) sb.Append(" if(confirm(" & """" & Msg & """" & "))" & vbCrLf) sb.Append(" {document.getElementById(" & """" & TBName & """" & ").value='true';}" & vbCrLf) sb.Append(" else{document.getElementById(" & """" & TBName & """" & ").value='false';}" & vbCrLf) 'sb.Append(" location.reload;" & vbCrLf) sb.Append("--></script>" & vbCrLf) ' Pas le choix d'utiliser StartupScript car le hidden field contenant la décision ne sera pas render... Pa.RegisterStartupScript("Conf", sb.ToString) End Function
Partager