Bien que les contrôles Web et les contrôles HTML aient de nombreuses fonctions similaires et se ressemblent, leurs mécanismes de mise en œuvre internes sont complètement différents.
Les contrôles Web fonctionnent mieux que les contrôles Html
1. Ils sont également assez pratiques à utiliser. Voici un exemple simple, comme la génération de Button :
Le contrôle HTML place toute l’énorme collection de contrôles dans la page. Quelle fonction est utilisée, définissez simplement les propriétés comme suit :
<input type=submit/button runat=server>
Cela occupera une quantité considérable de ressources de contrôle.
Les contrôles Web sont intégrés dans des fonctions uniques :
<asp:button id="btnOK" />
Cela peut économiser les ressources occupées par des contrôles inutiles.
2. Les contrôles Web ont une fonction de rappel et peuvent utiliser ViewState pour maintenir l'état du contrôle.
Le contrôle HTML ne peut pas le faire. Lorsque l'utilisateur clique sur l'opération de page, son état est perdu.
Vous pouvez faire une expérience comme celle-ci :
I. Créez respectivement deux fichiers : a.html b.aspx
II. Ajoutez le RadioButton du contrôle Html et un bouton à la page a.html.
Ajouter le RadioButton du contrôle Web et un bouton dans b.aspx
III.a.html est exécuté directement en double-cliquant sur le navigateur et b.aspx est exécuté via IIS.
IV. Dans l'interface en cours d'exécution a.html, sélectionnez RadioButton, puis cliquez sur le bouton Bouton. Vous constaterez que RadioButton le fera.
Décochez (perdre son état), mais effectuez la même opération sur la page b.aspx, le RadioButton ne sera pas perdu car le ViewState
Le statut est enregistré pour celui-ci. Vous pouvez cliquer sur "Afficher" -> "Fichier source" dans le menu du navigateur dans l'interface d'exécution pour ouvrir le fichier de code HTML.
Recherchez le ViewState chiffré, semblable à celui-ci :
<input type="hidden" name="_VIEWSTATE" value="dDw0ajfmafmjfzzmj4"/>
En fait, le principe d'implémentation de ViewState est de placer certaines informations dans un contrôle caché, et les informations ViewState générées par asp.net
sont stockées sur le client.
Une chose à noter ici est :
La fonction de bouclage ne peut être activée que lorsque le format est un fichier *.aspx et que le contrôle a l'attribut : "runat=server"
3. La plus grande différence entre les contrôles HTML et les contrôles Web réside dans leurs différentes méthodes de traitement des événements. Pour le contrôle de formulaire HTML,
Lorsqu'un événement est déclenché, le navigateur le gère. Mais pour les contrôles Web, l'événement est uniquement généré par le navigateur, mais le navigateur ne le traitera pas. Le client doit envoyer un message au serveur pour lui indiquer de gérer l'événement. Cependant, certains événements
Par exemple:
Événements tels que pression sur une touche/déplacement/souris, etc., ces événements ne sont pas disponibles dans Asp.net
(Comme ces événements sont très immédiats, le serveur ne peut pas les traiter assez rapidement.) À ce stade, le contrôle HTML entre en jeu, combiné aux événements HTML
pour aider à terminer le processus.
Voici quelques événements couramment utilisés en HTML :
Evénement de contrôle HTML exécuté sur le navigateur :
déclenché au clic :
<INPUT type="button" value="Click Me" onclick="alert('Hi, Hello!');">
Déclenché lorsque la souris rebondit :
<INPUT type="button" value="Click Me" onmouseup="alert('Hi, Hello!');">
//Déclenché lors du survol du contrôle
<INPUT type="button" value="Click Me" onmouseover="alert('Hi, Hello!');">
//Déclenché lorsque la souris se déplace au-dessus du contrôle
<INPUT type="button" value="Click Me" onmousemove="alert('Hi, Hello!');">
//Déclenché lorsque le contrôle est double-cliqué
<INPUT type="button" value="Click Me" ondblclick="alert('Hi, Hello!');">
//Lorsque le focus est sur le contrôle, il se déclenche lorsque la touche est enfoncée
<INPUT type="button" value="Click Me" onkeypress="alert('Hi, Hello!');">
//Déclenché lorsque la touche est enfoncée
<INPUT type="button" value="Cliquez-moi" onkeydown="alert('Salut, Bonjour !');">