ASP.NET - Ελέγχοι διακομιστή

Οι ελέγχοι διακομιστή είναι ετικέτες που κατανοούνται από τον διακομιστή.

Περιορισμοί του Classic ASP

Κατωτέρω παρατίθεται ο κώδικας που αντιγράφηκε από την προηγούμενη ενότητα:

<html>
<body style="background-color:#e5eecc; text-align:center;">
<h2>Hello CodeW3C.com!</h2>
<p><%Response.Write(now())%></p>
</body>
</html>

Ο κώδικας παραπάνω αντικατοπτρίζει τις περιορισμοί του Classic ASP: τα μπλοκ κώδικα πρέπει να τοποθετηθούν στις θέσεις όπου πρέπει να γίνει έξοδος.

Με το Classic ASP, δεν μπορούμε να αποσπάσουμε τον εκτελέσιμο κώδικα από το ίδιο το HTML. Αυτό κάνει τη σελίδα δύσκολη να διαβαστεί και να συντηρηθεί.

ASP.NET - Ελέγχοι διακομιστή

Με τους ελέγχους διακομιστή, το ASP.NET έχει λύσει το πρόβλημα του "κολοκυθοσπιτιού" που περιγράψαμε παραπάνω.

Οι ελέγχοι διακομιστή είναι ετικέτες που κατανοούνται από τον διακομιστή.

Υπάρχουν τρεις τύποι ελέγχων διακομιστή:

  • Ελέγχοι διακομιστή HTML - Τυπικές ετικέτες HTML
  • Ελέγχοι διακομιστή Web - Νέες ετικέτες ASP.NET
  • Ελέγχοι διακομιστή Validations - Χρησιμοποιούνται για επαλήθευση εισόδου

ASP.NET - Ελέγχοι διακομιστή HTML

Οι ελέγχοι διακομιστή HTML είναι ετικέτες HTML που κατανοούνται από τον διακομιστή.

Τα στοιχεία HTML στο ASP.NET χειρίζονται ως κείμενο. Για να γίνουν προγραμματιστικά, πρέπει να προσθέσετε Η ιδιότητα runat="server"Η ιδιότητα αυτή δείχνει ότι το στοιχείο αυτό είναι ένα ελέγχος διακομιστή. Επίσης πρέπει να προσθέσετε την ιδιότητα id για να αναγνωρίσετε τον ελέγχο διακομιστή. Το id αναφέρεται σε δυνατότητες που μπορούν να χρησιμοποιηθούν για να χειριστούν τον ελέγχο διακομιστή κατά τη διάρκεια της εκτέλεσης.

Σημείωση:Όλοι οι έλεγχοι διακομιστή HTML πρέπει να βρίσκονται μέσα σε ετικέτες <form> με την ιδιότητα runat="server". Η ιδιότητα runat="server" δείχνει ότι η φόρμα θα πρέπει να επεξεργαστεί στον διακομιστή. Επίσης δείχνει ότι τα περιλαμβανόμενα στοιχεία κουμπιών μπορούν να προσπελάσουν από το σενάριο του διακομιστή.

Στο παρακάτω παράδειγμα, δηλώνουμε έναν έλεγχο διακομιστή HtmlAnchor στο αρχείο .aspx. Στη συνέχεια, χειρίζόμαστε την ιδιότητα HRef του HtmlAnchor σε έναν επεξεργαστή συμβάντος. Το συμβάν Page_Load είναι ένας τύπος από τα πολλά συμβάντα που κατανοούνται από το ASP.NET:

Σημείωση:Ο επεξεργαστής συμβάντος (event handler) είναι μια υπογραμμισμένη διαδικασία που εκτελεί κώδικα για ένα δεδομένο συμβάν.

<script runat="server">
Sub Page_Load
link1.HRef="http://www.codew3c.com"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Επισκεφτείτε το CodeW3C.com!</a>
</form>
</body>
</html>

Σημείωση:Ο κώδικας εκτέλεσης έχει ήδη μετακινηθεί εκτός του HTML.

ASP.NET - Έλεγχοι διακομιστή Web

Οι έλεγχοι διακομιστή Web είναι ειδικοί ετικέτες ASP.NET που κατανοούνται από τον διακομιστή.

Παρόμοια με τους έλεγχους διακομιστή HTML, οι έλεγχοι διακομιστή Web δημιουργούνται επίσης στον διακομιστή, απαιτούν επίσης την ιδιότητα runat="server" για να λειτουργήσουν. Ωστόσο, οι έλεγχοι διακομιστή Web δεν χρειάζεται να αντιστοιχούν σε υφιστάμενες HTML στοιχεία, αντιπροσωπεύουν πιο σύνθετα στοιχεία.

Η γραμματική δημιουργίας του έλεγχου διακομιστή Web είναι:

<asp:control_name id="some_id" runat="server" />

Στο παρακάτω παράδειγμα, δηλώνουμε έναν έλεγχο διακομιστή Button στο αρχείο .aspx. Στη συνέχεια, δημιουργούμε έναν επεξεργαστή συμβάντος για το συμβάν Click, ο οποίος μπορεί να αλλάξει τον κείμενο του κουμπιού:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="Έπαιξες σε μένα!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Κλικ μου!" runat="server" OnClick="submit"/>
</form>
</body>
</html>

ASP.NET - Έλεγχος διασφάλισης διακομιστή

Ο έλεγχος διασφάλισης διακομιστή χρησιμοποιείται για την επαλήθευση της εισαγωγής του χρήστη. Αν η εισαγωγή του χρήστη δεν περάσει την επαλήθευση, θα εμφανιστεί ένα μήνυμα σφάλματος στον χρήστη.

Κάθε validation控件 εκτελεί μια συγκεκριμένη τύπο επαλήθευσης (π.χ. επαλήθευση μιας συγκεκριμένης τιμής ή μιας γκάμας τιμών).

Προεπιλεγμένα, όταν πατηθεί ο Button, ImageButton ή LinkButton, εκτελείται η επαλήθευση της σελίδας. Μπορείτε να αποτρέψετε την επαλήθευση από κάποιο κουμπί控件 με την ρύθμιση της ιδιότητας CausesValidation σε false.

Η γραμματική για τη δημιουργία του Validation 服务器控件的 είναι:

<asp:control_name id="some_id" runat="server" />

Στο παρακάτω παράδειγμα,我们在 .aspx 文件中声明了一个 TextBox 控件,一个 Button 控件,以及一个 RangeValidator 控件。如果验证失败,文本 "The value must be from 1 to 100!" 将显示在 RangeValidator 控件中:

<html>
<body>
<form runat="server">
<p>Εισάγετε έναν αριθμό από 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="Η τιμή πρέπει να είναι από 1 έως 100!"
runat="server" />
</p>
</form>
</body>
</html>

Εμφάνιση αυτού του παραδείγματος