Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Comment faire : Sauvegarder manuellement après des événements spécifiques dans une page en utilisant Visual Basic .NET .aspx

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 328923
Résumé
Cet article étape par étape décrit comment configurer une page .aspx afin que le code HTML qui est généré sera publiée sur le serveur en réponse à des événements spécifiques d'un contrôle. À titre d'exemple, cet article utilise le contrôle Web contrôles TreeView Internet Explorer.

La propriété AutoPostBack

  • true . Lorsque AutoPostBack a la valeur True pour un contrôle, le contrôle peut publier sur le serveur en réponse aux événements que vous ne souhaitez pas provoquer une publication.

    Par exemple, la définition de AutoPostBack sur True sur le contrôle TreeView contrôle entraîne une publication en réponse à ces événements : événements onExpand ; onCollapse ; onCheck ; et onSelectedIndexChange.
  • false . En définissant AutoPostBack à False, vous valider sauvegarder manuellement en réponse à un événement spécifique.

Créer le code

Pour valider sauvegarder manuellement en réponse à l'événement onSelectedIndexChange, procédez comme suit.
  1. Créez une Application Web et ensuite placer le contrôle TreeView dans une page .aspx.
  2. Dans la page .aspx, définissez la propriété AutoPostBack du contrôle TreeView à false .
  3. Dans la propriété Nodes de TreeView , cliquez sur le bouton points de suspension (...) collecte et puis ajouter des nœuds et des enfants à la collection de nœuds TreeView .
  4. Gérer l'événement onload de la page HTML, puis appelez la fonction initTree . Cette fonction côté client sera générée dans l'événement Page_Load de la page .aspx.

    En mode HTML de la page .aspx, ajouter un gestionnaire pour l'événement onload à la balise body comme suit :
    <body onload="initTree()">					
  5. Ajoutez le code suivant à partir de cette fonction Page_Load à votre propre fonction Page_Load de la classe code-behind pour le fichier .aspx. strTreeName
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load    Dim strTreeName As String = "TreeView1"    Dim strRef As String = Page.GetPostBackEventReference(TreeView1)    Dim strScript As String = "<script language=""JavaScript""> " & vbCrLf & _        "<!-- " & vbCrLf & _        "	function initTree() { " & vbCrLf & _        "		" & strTreeName & ".onSelectedIndexChange = function() { " & vbCrLf & _        "			if (event.oldTreeNodeIndex != event.newTreeNodeIndex) " & vbCrLf & _        "				this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex & ',' & event.newTreeNodeIndex); " & vbCrLf & _        "			window.setTimeout('" & strRef.Replace("'", "\'") & "', 0, 'JavaScript'); " & vbCrLf & _        "		} " & vbCrLf & _        "	} " & vbCrLf & _        "// --> " & vbCrLf & _        "</script>"    Page.RegisterClientScriptBlock("InitTree", strScript)End Sub					

Explication du code

Comment le code est développé

Le code fourni plus haut dans cet article a été développé à l'aide de la procédure suivante :
  • Une page .aspx a été développée et AutoPostBack pour le contrôle TreeView a la valeur True .
  • La page .aspx est affichée dans le navigateur Internet Explorer et la source a été enregistrée dans un fichier .HTML.
  • AutoPostBack pour le contrôle TreeView a été définie à false , et puis la page a été affichée à nouveau dans le navigateur.
  • Comparaison des deux fichiers et noter les différences ont aidé à produire le code fourni plus haut dans cet article.

Pour plus d'informations sur le code

  • Le code de la fonction Page_Load dans cet article affiche le code suivant dans le navigateur :
    <script language="JavaScript"><!--     function initTree() {         TreeView1.onSelectedIndexChange = function() {             if (event.oldTreeNodeIndex != event.newTreeNodeIndex)                 this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex & ',' & event.newTreeNodeIndex);             window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');         }     } // --></script>						
    la fonction initTree s'exécute lorsque la page HTML est chargée dans le navigateur. La fonction initTree substitue l'événement onSelectedIndexChange de TreeView1 afin que l'événement onSelectedIndexChange est ajouté à la file d'attente de la page et est ensuite publiée sur le serveur.
  • La première ligne de la nouvelle fonction onSelectedIndexChange ,
    if (event.oldTreeNodeIndex != event.newTreeNodeIndex)     this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);						
    provient directement de la définition de la fonction d'origine comme défini dans le fichier .HTML enregistré.
  • Paramètre AutoPostBack pour le contrôle TreeView sur True affiche le code suivant dans le code HTML:
    window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');						
    car le mécanisme de publication (dans ce cas, __doPostBack ) peut-être changer à l'avenir, générer la fonction sur le serveur en utilisant le code suivant :
    string strRef = Page.GetPostBackEventReference(TreeView1);					
    la référence d'événement de publication est ensuite utilisée dans Page_Load pour générer l'événement de publication sur le client.
Références
Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la base de connaissances Microsoft :
305140INFO : Introduction À ASP.NET

319441Comment : Ajouter dynamiquement nœuds à un contrôle WebBrowser TreeView à l'aide de Visual Basic .NET

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 328923 - Dernière mise à jour : 06/25/2003 17:06:43 - Révision : 3.4

Microsoft ASP.NET 1.0, Microsoft Visual Basic .NET 2002 Initiation, Microsoft ASP.NET 1.1, Microsoft Visual Basic .NET 2003 Initiation

  • kbmt kbhowtomaster kbservercontrols KB328923 KbMtfr
Commentaires