Les contrôles serveur sont des balises qui sont comprises par le serveur.
Limitations dans ASP classique
La liste ci-dessous a été copié du chapitre précédent:
<html>
<body bgcolor="yellow">
<center>
<h2>Hello w3ii!</h2>
<p> <%Response.Write(now())%> </p>
</center>
</body>
</html>
Le code ci-dessus illustre une limitation dans ASP classique: Le bloc de code doit être placé où vous voulez que la sortie apparaisse.
Avec ASP classique, il est impossible de séparer le code exécutable à partir du HTML lui-même. Cela rend la page difficile à lire, et difficile à maintenir.
Contrôles serveur - ASP.NET à
ASP.NET a résolu le "spaghetti-code" problème décrit ci - dessus avec les commandes du serveur.
Les contrôles serveur sont des balises qui sont comprises par le serveur.
Il existe trois types de contrôles serveur:
- HTML contrôles serveur - balises HTML traditionnelles
- Contrôles serveur Web - De nouvelles balises ASP.NET
- Validation des contrôles serveur - Pour la validation d'entrée
ASP.NET - contrôles serveur HTML
Les contrôles serveur HTML sont des balises HTML comprises par le serveur.
éléments HTML dans les fichiers ASP.NET sont, par défaut, traités comme du texte. Pour ces éléments programmables, ajouter un attribut runat = « serveur » à l'élément HTML. Cet attribut indique que l'élément doit être traité comme un contrôle serveur. L' id attribut est ajouté pour identifier le contrôle du serveur. La référence identifiant peut être utilisé pour manipuler le contrôle du serveur lors de l'exécution.
Note: Tous les contrôles serveur HTML doit être dans une balise <form> balise avec le runat="server" attribut. Le runat="server" attribut indique que le formulaire doit être traité sur le serveur. Il indique également que les contrôles fermés sont accessibles par les scripts de serveur.
Dans l'exemple suivant, nous déclarons un contrôle serveur HtmlAnchor dans un fichier .aspx. Ensuite , nous manipulons l' HRef attribut du contrôle de HtmlAnchor dans un gestionnaire d'événements (an event handler is a subroutine that executes code for a given event) - (an event handler is a subroutine that executes code for a given event) le (an event handler is a subroutine that executes code for a given event) . L'événement Page_Load est l'un des nombreux événements qui ASP.NET comprend:
<script runat="server">
Sub Page_Load
link1.HRef="http://www.w3ii.com"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Visit w3ii!</a>
</form>
</body>
</html>
Le code exécutable lui-même a été déplacé en dehors du HTML.
ASP.NET - Contrôles serveur Web
Les contrôles serveur Web sont des balises ASP.NET spéciales comprises par le serveur.
Comme les contrôles serveur HTML, les contrôles serveur Web sont également créés sur le serveur et ils ont besoin d'un attribut runat = « serveur » au travail. Cependant, les contrôles de serveur Web ne correspondent pas nécessairement à tous les éléments HTML existants et ils peuvent représenter des éléments plus complexes.
La syntaxe pour créer un contrôle serveur Web est:
<asp:control_name id="some_id" runat="server" />
Dans l'exemple suivant, nous déclarons un contrôle serveur Bouton dans un fichier .aspx. Ensuite, nous créons un gestionnaire d'événements pour l'événement Click qui modifie le texte sur le bouton:
<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You clicked me!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Click me!"
runat="server" OnClick="submit"/>
</form>
</body>
</html>
ASP.NET - Validation des contrôles serveur
Les contrôles serveur de validation sont utilisés pour valider entrées utilisateur. Si la saisie de l'utilisateur ne passe pas la validation, il affiche un message d'erreur à l'utilisateur.
Chaque commande de validation effectue un type spécifique de validation (comme la validation à une valeur spécifique ou une plage de valeurs).
Par défaut, la validation de la page est réalisée quand un bouton, ImageButton ou contrôle LinkButton cliquez dessus. Vous pouvez empêcher la validation lorsqu'un contrôle de bouton est cliqué en définissant la propriété CausesValidation false.
La syntaxe pour créer un contrôle serveur de validation est:
<asp:control_name id="some_id" runat="server" />
Dans l'exemple suivant, nous déclarons un contrôle TextBox, un contrôle Button et un contrôle RangeValidator dans un fichier .aspx. Si la validation échoue, le texte "The value must be from 1 to 100!" sera affiché dans le contrôle RangeValidator:
Exemple
<html>
<body>
<form runat="server">
<p>Enter a number from 1 to 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="The value must be from 1 to 100!"
runat="server" />
</p>
</form>
</body>
</html>
Afficher un exemple »