Controalele de server sunt tag-uri, care sunt înțelese de către server.
Limitări în Classic ASP
Listarea de mai jos a fost copiat din capitolul anterior:
<html>
<body bgcolor="yellow">
<center>
<h2>Hello w3ii!</h2>
<p> <%Response.Write(now())%> </p>
</center>
</body>
</html>
Codul de mai sus ilustrează o limitare în Classic ASP: Blocul de cod trebuie să fie plasat în cazul în care doriți de ieșire să apară.
Cu Classic ASP este imposibil să se separe codul executabil din HTML în sine. Acest lucru face ca pagina de dificil de citit, și dificil de întreținut.
Controale Server - ASP.NET
ASP.NET a rezolvat "spaghetti-code" problema descrisă mai sus , cu control de tip server.
Controalele de server sunt tag-uri, care sunt înțelese de către server.
Există trei tipuri de control de tip server:
- Controale Server HTML - tag-uri HTML tradiționale
- Controale Web Server - etichete noi ASP.NET
- Controale de validare Server - pentru validare de intrare
Controale HTML Server - ASP.NET
control de tip server HTML sunt tag-uri HTML înțeles de către server.
elemente HTML în fișiere ASP.NET sunt, în mod implicit, tratate ca text. Pentru a face aceste elemente programabile, adăugați un atribut Runat = „server“ pentru elementul HTML. Acest atribut indică faptul că elementul trebuie tratat ca un server de control. id atribut este adăugat pentru a identifica serverul de control. id Referința poate fi folosit pentru a manipula server de control în timpul rulării.
Note: Toate controalele de server HTML trebuie să fie într - o <form> tag - ul cu runat="server" atribut. runat="server" atribut indică faptul că forma trebuie să fie prelucrate pe server. De asemenea, indică faptul că controalele închise pot fi accesate de către script-uri de server.
În exemplul următor vom declara un server de control HtmlAnchor într-un fișier .aspx. Apoi am manipula HRef atributul de control HtmlAnchor într - o tratare a evenimentului (an event handler is a subroutine that executes code for a given event) a (an event handler is a subroutine that executes code for a given event) . Evenimentul Page_Load este unul dintre multele evenimente care ASP.NET înțelege:
<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>
Codul executabil în sine a fost mutat în afara HTML.
ASP.NET - Controale Web Server
control de tip server web sunt tag-uri speciale ASP.NET de înțeles de către server.
Ca și control de tip server HTML, control de tip server web sunt, de asemenea, create pe server și au nevoie de o Runat = atribut „server“ la locul de muncă. Cu toate acestea, controalele de server web nu neapărat harta pentru elementele HTML existente și pot reprezenta elemente mai complexe.
Sintaxa pentru crearea unui server de control web este:
<asp:control_name id="some_id" runat="server" />
În exemplul următor vom declara un server de control buton într-un fișier .aspx. Apoi, vom crea un eveniment handler pentru evenimentul Faceți clic pe care se schimbă textul de pe butonul:
<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>
Controale de validare Server - ASP.NET
Controalele de server de validare sunt utilizate pentru a valida utilizator-intrare. Dacă utilizatorul-intrare nu trece de validare, va afișa un mesaj de eroare către utilizator.
Fiecare comandă de validare efectuează un anumit tip de validare (cum ar fi validarea împotriva unei valori sau un interval de valori).
În mod implicit, validarea pagina este realizată atunci când un buton, ImageButton, sau control LinkButton se face clic. Puteți preveni validarea atunci când un buton de control este apasat prin setarea proprietatea CausesValidation la false.
Sintaxa pentru crearea unui server de control de validare este:
<asp:control_name id="some_id" runat="server" />
În exemplul următor vom declara un control al casetă text, un buton de control, și un control al RangeValidator într-un fișier .aspx. Dacă validarea eșuează, textul "The value must be from 1 to 100!" va fi afișat în controlul RangeValidator:
Exemplu
<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>
Arată exemplu »