Contrôles de formulaires Web
Les contrôles du serveur sont des étiquettes compréhensibles par le serveur.
Limitations de l'ASP classique
Le code répertorié ci-dessous est copié du chapitre précédent :
<body bgcolor="jaune">
<center>
<Bonjour W3CSchool .cc!</h2>
<p><%Response.Write(now())%></p>
</center>
</body> html>
ASP.NET - Contrôles du serveurASP.NET a résolu le problème du "code spaghetti" mentionné ci-dessus grâce aux contrôles du serveur. Les contrôles du serveur sont des étiquettes compréhensibles par le serveur. Il existe trois types de contrôles serveur :
- Contrôle serveur HTML - Balises HTML créées Contrôle serveur Web - Nouvelles balises ASP.NET Contrôle serveur de validation - Pour la validation des entrées
ASP.NET - Serveur HTML ContrôlesLes contrôles serveur HTML sont des balises HTML que le serveur comprend. Les éléments HTML des fichiers ASP.NET sont traités par défaut sous forme de texte. Pour rendre ces éléments programmables, ajoutez l'attribut runat="server" à l'élément HTML. Cet attribut indique que l'élément sera traité comme un contrôle serveur. Dans le même temps, vous devez ajouter l'attribut id pour identifier le contrôle serveur. L'identifiant fait référence à un contrôle serveur qui peut être utilisé pour manipuler le runtime.
Remarque : Tous les contrôles du serveur HTML doivent être situés dans une balise <form> avec l'attribut runat="server". L'attribut runat="server" indique que le formulaire doit être traité sur le serveur. Il indique également que les contrôles qu'il contient sont accessibles par les scripts du serveur.
Dans l'exemple ci-dessous, nous déclarons un contrôle serveur HtmlAnchor dans le fichier .aspx. Nous manipulons ensuite la propriété HRef du contrôle HtmlAnchor dans un gestionnaire d'événements (un gestionnaire d'événements est un sous-programme qui exécute le code pour un événement donné). L'événement Page_Load est l'un des nombreux événements qu'ASP.NET comprend :link1.HRef="http://www.w3cschool.cc"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Visitez W3CSchool cc ! </a>
</form>
</body>
</html>
Le code exécutable lui-même a été déplacé en dehors du HTML.
ASP.NET - Contrôles du serveur Web
Les contrôles du serveur Web sont des balises ASP.NET spéciales que le serveur comprend.
Tout comme les contrôles serveur HTML, les contrôles serveur Web sont également créés sur le serveur et nécessitent également l'attribut runat="server" pour prendre effet. Toutefois, les contrôles serveur Web ne mappent pas nécessairement les éléments HTML existants ; ils peuvent représenter des éléments plus complexes ;
La syntaxe de création d'un contrôle serveur Web est :
Dans l'exemple ci-dessous, nous déclarons un Button dans le fichier .aspx Contrôles du serveur. Ensuite, nous créons un gestionnaire d'événements pour l'événement Click afin de modifier le texte du bouton :
Sub submit(Source As Object, e As EventArgs)
button1.Text="You m'a cliqué!"
Fin du sous-titre
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text=" Cliquez-moi!"
runat="server" OnClick="submit"/>
</form>
</body>
</html>
ASP.NET - Contrôle du serveur de validation
Le contrôle du serveur de validation est utilisé pour valider les entrées de l'utilisateur. Si la saisie de l'utilisateur échoue à la validation, un message d'erreur sera affiché à l'utilisateur.
Chaque contrôle de validation effectue un type de validation spécifié (comme la validation d'une valeur spécifiée ou d'une plage de valeurs).
Par défaut, lorsque vous cliquez sur les contrôles Button, ImageButton et LinkButton, la vérification de la page sera effectuée. Vous pouvez définir CausesValidation sur false pour empêcher le contrôle du bouton de se valider lorsque vous cliquez dessus.
La syntaxe de création d'un contrôle serveur de validation est la suivante :
Dans l'exemple suivant, nous déclarons un contrôle TextBox, un contrôle Button et un contrôle RangeValidator dans le fichier .aspx. Si la validation échoue, le texte "La valeur doit être comprise entre 1 et 100 !" sera affiché dans le contrôle RangeValidator :
Instance
<body>
<form runat="server" > ;
<p>Entrez un nombre de 1 à 100 :
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
< asp :Button Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue=" 100 "
Type="Integer"
Text="La valeur doit être comprise entre 1 et 100!"
runat="server" />
</p>
</form>
</body>
</html>