Asp.
Net
Ce este [Link]?
[Link] este o tehnologie puternică ș i flexibilă de server, care este folosită pentru
dezvoltarea paginilor web dinamice. Inima tehnologiei [Link] este
Framework-ul .NET de la Microsoft, care oferă tehnologia de bază.
framework-ul conț ine un set vast de clase de programare concepute pentru a satisface
orice nevoie de programare ș i [Link] este doar unul dintre componente.
Framework-ul .NET este conceput pentru a ajuta ș i a rezolva mai multe probleme fundamentale.
probleme ș i dificultăț i întâmpinate de programatori, cum ar fi:
• Acesta duce la economisirea timpului în construirea de aplicaț ii mari ș i fiabile.
• Permite programatorilor din diferite limbi să lucreze la aplicaț ii.
• Oferă o modalitate mai uș oară, mai ieftină ș i mai rapidă de a obț ine programe eficiente
în mâinile utilizatorului.
• Permite programatorilor să unifice două tipuri de arhitecturi - aplicaț ii
care rulează local pe maș ină ș i aplicaț ii care sunt accesate prin
web-ul.
• Folosind .Net, nu este nevoie să scrii un cod complex cu complicaț ii.
limbi pentru a obț ine rezultate impresionante.
Biblioteca de clase .NET Framework
Imaginaț i-vă că trebuie să suportaț i mai multe limbaje de programare - cum ar fi
Visual Basic ș i C++. Multe dintre aceste limbaje se suprapun. De exemplu, pentru
fiecare limbă, trebuie să includeț i metode pentru accesarea sistemului de fiș iere,
lucrând cu baze de date, folosind diferite metode ș i manipulând ș iruri.
În plus, aceste limbaje de programare au programare similară
constructe. De exemplu, fiecare limbaj poate reprezenta bucle ș i
condiț ionale. Chiar dacă sintaxa unui condiț ional, scris în Visual Basic
diferă de cel scris în C++, funcț iile de programare sunt aceleaș i.
În cele din urmă, majoritatea limbajelor de programare au tipuri similare de date variabile.
în majoritatea limbajelor, aveț i unele modalităț i de a reprezenta ș iruri ș i întregi.
De exemplu, dimensiunea maximă ș i minimă a unui număr întreg poate depinde de
limba, dar tipul de bază al datelor este acelaș i.
Este nevoie de multă muncă pentru a menț ine această funcț ionalitate pentru mai multe limbi.
Prin urmare, .NET Framework constă dintr-un set vast de clase concepute pentru
satisfac orice nevoie de programare concepută.
De exemplu, .NET Framework con ț ine clase pentru gestionarea bazelor de date
acces, lucrând cu sistemul de fi ș iere, manipulând textul ș i generând
grafică. În plus, con ț ine clase mai specializate pentru a efectua
sarcini, cum ar fi lucrul cu expresii regulate ș i gestionarea re ț elei
protocole.
Framework-ul .NET conț ine de asemenea clase care reprezintă toate variabilele de bază
tipuri de date precum ș iruri, întregi, bytes, caractere ș i matrice.
motivul aici este să explici că poț i accesa oricare dintre clasele .NET Framework
chiar ș i atunci când construieș ti paginile tale [Link].
Înț elegerea spaț iilor de nume
Framework-ul .NET conț ine mii de clase (peste 3500). Din fericire,
lecț iile nu sunt pur ș i simplu amestecate, ci sunt organizate într-o
ierarhia spaț iilor de nume. Puteț i defini un spaț iu de nume ca un grup logic de
cursuri.
De exemplu; toate clasele care se referă la lucrul cu sistemele de fiș iere sunt
adunate împreună în spaț iul de nume [Link].
Evitarea confuziei între ASP ș i [Link]
Aceste termeni trebuie în ț eleș i mai întâi ca fiind separa ț i ș i distinc ț i, înainte de
instalarea ș i rularea [Link]. Acestea pot fi definite ca:
ASP
O tehnologie de server pentru crearea paginilor web dinamice folosind scripturi
doar limbaj.
[Link]
O tehnologie pe partea serverului pentru crearea de pagini web dinamice care permite utilizarea
orice limbaj de programare complet acceptat de .NET.
Diferenț a dintre ASP ș i [Link]
[Link] este interpretat în timp ce [Link] este compilat, ceea ce este mai rapid decât asp.
[Link] îș i menț ine propriul CLR ș i este gestionat pe măsură ce rulează de CLR
Unde un asp este neadministrat
3 Putem men ț ine sesiuni în serverul de stare ș i serverul SQL care este
Outproc, unde sesiunile asp vor dura dacă repornim serverul web sau
fă modificări.
În [Link] putem configura fiecare aplicaț ie folosind fiș ierul [Link]
care este disponibil în aplica ț ie ș i avem [Link]
unde putem configura toate aplicaț iile.
În ASP nu putem configura o singură aplicaț ie
5 În [Link] avem evenimentul autopostback care nu este în asp
Avem o interfaț ă grafică bine construită pentru a lucra în [Link].
Avem [Link] ș i de asemenea arhitectura deconectată în [Link].
8. Putem lucra cu orice limbă ca tehnică de cod în spate în [Link]
care suportă .net framework.
9. ASP: Logica de afaceri ș i logica de prezentare sunt într-un singur fi ș ier
[Link]: Logica de afaceri ș i logica de prezentare sunt în
Fiș iere separate (.cs sau .vb) ș i (.aspx) respectiv.
10. ASP: Fără controale de server web
[Link]: Controale de server web suportate de .NET robust
Cadru
11. ASP: Nu există RAD în Classic ASP, în timp ce [Link]: Suportă RAD
Example1: [Link]
<html>
<head><title>This is a Simple HTML Page</title></head>
<body>
<form method="post" action="[Link]">
<b>Your Name:</b>
<br><input name="username" type="text" size="25">
<p>
<b>Your Comments:</b>
<br><textarea name=”comments” cols=”55”
randuri="10"></textarea>
<p>
<input type=”submit” value=”Send Comment”>
</form>
</body>
</html>
Ieşirea acestei pagini este prezentată mai jos. S-ar putea să observaț i că formularul HTML
trimite înapoi către sine (prin atributul action). Deci, când butonul Trimite
dacă este apăsat, acelaș i formular apare din nou.
Formularul HTML din Exemplul 1 nu conț ine niciun control [Link]. Când
you type something in the form and click the Send Comment button, the
Datele pe care le introduci în formular dispar de fiecare dată.
Putem modifica Exemplul 1 astfel încât să folosească controale [Link] în loc de
Elementul formular HTML. Acest lucru va transforma câmpurile formularului în „ inteligente” pe partea serverului
câmpuri de formular. Modifică pagina conform Exemplului 2 ș i salveaz-o cu
nume [Link] în aceeaș i direcț ie.
Exemplu2: [Link]
<html>
<head><title>This is a Simple ASPX Page</title></head>
<body>
<form runat="Server">
<b>Your Name:</b>
<br><input id="username" type="text" size="25" runat="Server">
<p>
<b>Your Comments:</b>
<br><textarea id="comments" cols=60 rows=10
runat="Server"></textarea>
<p>
<input type="submit" value="Trimite comentariul" runat="Server">
</formular>
</body>
</html>
Ieș irea acestei pagini este afiș ată mai jos. În acest exemplu sunt patru modificări
au fost realizate:
• Pagina a fost redenumită ca [Link].
• Atributul Runat="Server" este adăugat la toate etichetele de formular. Pentru
Exemplu, în loc să folose ș ti <input name="username" type="text"
dimensiune="25">, următoarea este folosită - <input id="username" type="text"
dimensiune="25" rulaț i="Server">
Atributul Runat="Server" converte ș te aceste etichete standard HTML în
"taguri HTML" inteligente pe partea serverului. Când pagina [Link] este deschisă
În browserul Web, eticheta <form runat="Server"> se execută pe server
înainte ca orice con ț inut să fie redat în browserul Web. Atributul Runat="Server"
atributul converteș te aceste etichete HTML standard în controale [Link].
• Reț ineț i că, în loc să folosiț i atributul name pentru a denumi câmpurile formularului,
un identificator unic este dat cu atributul ID. Acest lucru se datorează faptului că eș ti
nu mai trataț i câmpurile de formular ca simple etichete HTML; ci sunteț i
transformarea câmpului formularului în obiecte de partea serverului.
• Reț ineț i că Exemplul 1 a fost modificat astfel încât să se poată trimite HTML-ul
formular folosind:
<form Runat="Server"> mai degrabă decât standardul, <form
metodă="post" acț iune="[Link]">
Prin urmare, este clar că dacă doriț i să convertiț i oricare dintre câmpurile de formă în cadrul unui
Pentru a transforma un formular HTML în controale [Link], trebuie să foloseș ti atributul Runat="Server".
cu eticheta de deschidere a formularului. Atributul Method al etichetei formularului nu este folosit
cu controlul versiunii etichetei formularului. Implicit, formularul HTML [Link]
controlul include această atribut. Atributul de acț iune nu este specificat. [Link]
Controlul formularului HTML se trimite automat înapoi în aceeaș i manieră ca ș i originalul
eticheta form.
Pe scurt, pentru a converti un fiș ier HTML standard într-o pagină [Link], faci
patru modificări ale paginii, aș a cum s-a discutat mai sus. Acum aț i convertit
o pagină HTML într-o pagină [Link] „inteligentă”. Metoda de a ieș i din asta este
discutat mai jos:
Deschideț i pagina [Link] în browser ș i încercaț i să trimiteț i
formular. Toate datele sunt păstrate între postările formularului. Când formularul este
formularul de date este postat din nou ș i din nou ș i nu dispare.
Beneficiile utilizării controalelor [Link]
• Controalele [Link] reprezintă elementele HTML ale unei pagini într-o
model de obiecte intuitiv.
• Controalele [Link] reț in în mod automat valoarea proprietăț ilor lor prin
participating in view state (view state will be explained in the next
secț iune).
• Controalele [Link] vă permit să separaț i conț inutul de design al unei pagini
din logica aplicaț iei.
• Controalele [Link] vă permit să menț ineț i compatibilitatea cu browerele în timp ce
încă susț inând funcț ii avansate ale browser-ului, cum ar fi JavaScript.
Această directivă apare în partea de sus a unei pagini [Link]. Aceasta specifică ce
un limbaj de programare este folosit pentru a scrie o pagină [Link]. De exemplu
dacă dorim să folosim VB ca limbaj al paginii noastre, vom folosi următoarele
directivă:
<%@ Pagina Limbaj=”VB”%>
Ș i dacă este C#, atunci folosim următoarea directivă:
<%@ Pagina Limbaj="VB" %>
<script runat="server">
Sub tbMessage_Change (Sender ca Obiect, E ca EventArgs)
lblMessage. Text="Hello " + tbMessage. Text
Sfârș it Sub
</script>
<html>
<body>
<font size="5">[Link]</font><hr><p>
Pagina noastră de test<p>
<form runat="server">
Vă rugăm să introduceț i numele dvs.:
<asp: TextBox id="tbMessage"
OnTextChanged ="tbMessage_Change" runat="server"/>
<asp: button id="btSubmit" Text="Submit"
runat="server"/><p>
<b><asp: label id="lblMessage" runat="server"/></b>
</formular>
</body>
</html>
Controale server web
Controlurile serverului web în [Link] nu se bazează direct pe clasa Control
dar se bazează pe clasa WebControl, care se bazează pe clasa Control.
The class hierarchy for the WebControl class is as follows:
Obiect
Control
ControlWeb
Proprietă ț ile notabile ale clasei WebControl sunt rezumate în tabel
mai jos
Proprietate Description
AccessKey Obț ine/Setează cheia de acces pentru control
Ob ț ine o colec ț ie de attributuri folosite pentru a reda
Atribute
control
CuloareDeFundal Obț ine/Setează culoarea de fundal a controlului
BorderColor Obț ine/Setează culoarea marginii controlului
BorderStyle Obț ine/Setează stilul de margine al controlului
BorderWidth Obț ine/Setează lăț imea marginii controlului
ControlStyle Obț ine stilul controlului
CssClass Obț ine/Setează clasa CSS a controlului
Activat Obț ine/Setează dacă controlul este activat
Font Obț ine / setează fontul pentru control
ForeColor Gets/Sets the control's foreground color
Height Gets/Sets the control's height
Obț ine stilul HTML al controlului ca o colecț ie de
Stil
atribute text
TabIndex Obț ine/Setează indexul tabului controlului
ToolTip Obț ine/Setează textul tool tip al controlului
Lăț ime Obț ine/Setează lăț imea controlului
ETICHETĂ
<html>
<head>
<scriptlanguage="C#" runat="server">
privată void Button1_Click(Obiect sender, EventArgs e)
[Link] [Link];
Sfârș it Sub
</script>
</head>
<body>
<h3><font face="Verdana">Exemplu de Etichetă</font></h3>
<formrunat="server">
<asp:Label id="Label1" Text="Label1" runat="server"/>
<p>
<asp:TextBox id="Text1" Text="Copiază acest text în etichetă"
runat="server" />
<asp:Button id="Button1" Text="Copiază" nClick="Button1_Click"
Runat="server"/>
</form>
</body>
</html>
CASETA DE TEXT
Accesul programatic este oferit de clasa TextBox situată în
Namespace [Link]. Apariț ia ș i comportamentul TextBox
poate fi manipulat prin intermediul proprietăț ilor sale. Lista următoare oferă un eș antion
al proprietăț ilor:
• AutoPostBack: Valoare booleană care semnalizează dacă AutoPostBack
func ț ia este activată pentru control. Aceasta determină dacă formularul va
vor fi postate automat înapoi pe serverul Web când conț inutul
schimbarea câmpului.
• BackColor:The background color of the control. This may be
controlat ș i cu CSS.
• BorderColor:The border color for the border (if used) displayed
în jurul controlului.
• BorderWidth:The width of the border around the control on the
pagină.
• CausesValidation:Valoare Boolean care semnalează dacă validarea este
executat atunci când se efectuează revenirea formularului.
• Coloane: Lăț imea de afiș are a controlului TextBox.
• CssClass:Allows you to assign a CSS class to the control.
• Font:The various font attributes associated with the control. The
approach-ul preferat este să folose ș ti CSS, dar clasa Font con ț ine
proprietă ț i pentru a semnala dacă textul apare îngro ș at, italic
linie tăiată, sau subliniere, precum ș i dimensiunea fontului, numele ș i altele.
• ForeColor:The color of the text displayed in the field. The preferred
tehnica este CSS.
• Height:Get or set the height of the control.
• MaxLength:The maximum number of characters allowed in the field.
• ReadOnly:Valoare booleană care semnalizează dacă controlul poate fi editat de
utilizator sau doar citit.
• Numărul de rânduri pentru un TextBox folosind linia multiplă
setare.
• SkinId:Î ț i permite să aloci o piele pentru TextBox pentru a-i controla
apariț ie.
• Textul conț inut în câmp.
• Modul de text: Modul de text al controlului. Valorile legale se află în
clasa TextBoxMode cu valori de linie unică, linie multiplă sau
parola. Setarea parolei maschează textul introdus, astfel încât să
parola nu este afiș ată — este disponibilă în cod pentru manipulare
ș i stocare.
• Vizibil: Valoare booleană care semnalează dacă controlul este vizibil sau
ascuns.
• Împachetare: Valoare booleană care semnalează dacă textul se împachetează în interiorul câmpului.
Exemplul următor în C# demonstrează proprietăț ile utilizate în timpul unei pagini
încarcă. Pagina care conț ine codul conț ine un control TextBox numit
TextBox1. Codul setează TextBox-ul ca fiind multi-linie ș i setează proprietăț ile fontului ș i
colors:
protected void Page_Load(object sender, EventArgs e) {
[Link] = true;
[Link] = [Link];
[Link] = 4;
[Link] = 80;
[Link] = true;
[Link] = fals;
[Link] = [Link];
[Link] = [Link];
[Link] = 40;
[Link] = [Link];
[Link] = true;
[Link] = true;
[Link] = "This is a test.";
}
protected void TextBox1_TextChanged(object sender, EventArgs e) {
[Link]([Link]);
}
Exemplu 1
Trage un TextBox ș i un control Button pe WebForm. Când dai click pe
butonul afiș ează un text într-un TextBox. Codul pentru aceasta arată astfel:
Private Void Button2_Click(Object sender, EventArgs e)
{
[Link] = Bine ai venit la Casete text
}
Exemplu2, Câmp Text Multiliniar
Trageț i un TextBox, un Button ș i un control Label pe formular. Vom face asta
TextBox un textbox multiline ș i afi ș ează textul introdus în acest multiline
casetă de text pe un eticheta. Înainte de a continua, selecta ț i caseta de text, deschide ț i-i
fereastra de proprietăț i ș i setaț i proprietatea sa TextMode la Multiline. Codul pentru
a atinge funcț ionalitatea dorită arată astfel:
Void privat Button2_Click(Object sender, EventArgs e)
{
[Link] = [Link]
}
Exemplu3, Caracter Parolă
Trage un Textbox, un Buton ș i un control Etichetă pe formular. Selectează
textbox, deschide fereastra sa de proprietă ț i ș i setează proprietatea TextMode la
Parola. Atunci când setezi proprietatea TextMode la parolă, textul pe care îl introduci
în caseta de text este mascată cu asteriscuri (*). Codul următor afiș ează
textul pe care l-aț i introdus în caseta de text ca text pentru etichetă.
Privat Void Button1_Click(Object sender, EventArgs e)
{
[Link] = [Link]
}
ImageButton
To set the Image for this control we use theImageUrlproperty. Image
butoniisprijinatât evenimentele Click cât ș i Command. Când gestionăm Click
evenimente, am trecut de locaț ia actuală a mouse-ului în imagine. Putem
folose ș te gestionarii de evenimente de comandă pentru a face butonul de imagine să func ț ioneze ca un
buton de comandă.
Exemplu
Trage ț i un Label ș i un control ImageButton pe formular ș i lipi ț i-l
următorul cod:
Privat Void ImageButton1_Click(Object sender, EventArgs e)
{
[Link] = "You clicked the image button at" & e.X & " " &
e.Y
Sfârș it Sub
Când rulezi codul ș i faci clic pe butonul de imagine, coordonatele X ș i Y
coordonatele sunt afiș ate pe etichetă.
HyperLink
<html>
<scriptlanguage="C#" runat="server">
private void Page_Load(Object sender, EventArgs e)
{
Setaț i hyperlinkul la "~", care indică rădăcina aplicaț iei.
[Link] = "~"
}
</script>
<body>
<h3><font face="Verdana">Exemplu simplu asp:hyperlink</font></h3>
<formrunat=server>
<p>
<asp:hyperlink id=HyperLink1 runat="server">
Mergi la QuickStart
</asp:hyperlink>
</form>
</body>
</html>
Lista derulantă
TheListă derulantăcontrolul este de fapt un container pentru elementele din lista, care sunt
de tipElement de listă. FiecareElement de listăobiectul este un obiect separat cu propriul său
proprietăț i. Aceste proprietăț i sunt descrise în tabelul următor.
Descriere proprietate
Text Specifică textul care este afisat în listă.
Valoare Conț ine valoarea care este asociată cu un element. Setarea acestuia
proprietatea îț i permite să asociezi o valoare cu un element specific
fără a-l afiș a. De exemplu, poț i setaTextproprietate
la numele unei culori ș iValoareproprietate în hexazecimal
reprezentare.
SelectatIndică dacă elementul este în prezent selectat.
Pentru a lucra cu elementele listei în mod programatic, folosi ț iArticolecolec ț ia de
Listă derulantăcontrol. TheElementecolecț ia este o colecț ie standard, ș i tu
poț i adăuga obiecte item la acesta, ș terge itemuri, goli colecț ia ș i aș a mai departe.
Elementul selectat în prezent este disponibil înLista derulantăcontrolului
SelectedItem proprietate.
<html>
<head>
<scriptlanguage="VB" runat="server">
SubSubmitBtn_Click(sender As Object, e As EventArgs)
[Link]="You chose: " + [Link]
Sfârș it Sub
</script>
</head>
<corpul>
<h3><font face="Verdana">Exemplu DropDownList</font></h3>
<formrunat=server>
<asp:DropDownList id=DropDown1 runat="server">
<asp:ListItem>Element 1</asp:ListItem>
<asp:ListItem>Element 2</asp:ListItem>
<asp:ListItem>Element 3</asp:ListItem>
<asp:ListItem>Element 4</asp:ListItem>
<asp:ListItem>Element 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:DropDownList>
Trimite
runat=server/>
<p>
<asp:Label id=Label1 Font-Names="Verdana" font-size="10pt"
runat="server">
Selectaț i o valoare din listă
</asp:Label>
</form>
</body>
</html>
Listă de selecț ie
<html>
<head>
<scriptlanguage="C#" runat="server">
voidSubmitBtn_Click(Obiect Trimiter, EventArgs e)
{
dacă ([Link] > -1)
{
[Link] = "You chose: " + [Link];
}
}
</script>
</cap>
<body>
<formrunat="server">
<h3>
<fontface="Verdana">Exemplu de ListBox</font></h3>
<p>
<asp:ListBox ID="ListBox1" Width="100px" runat="server">
<asp:ListItem>Articol 1</asp:ListItem>
<asp:ListItem>Element 2</asp:ListItem>
<asp:ListItem>Articol 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
<asp:ListItem>Item 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:ListBox>
<asp:Button Text="Submit" ID=submit1
OnClick="SubmitBtn_Click" runat="server" />
<p>
<asp:Label ID="Label1" Font-Names="Verdana" Font-
Size="10pt" runat="server" />
</form>
</body>
</html>
Puteț i adăuga elemente într-un control de server web de tip listă în următoarele trei moduri:
• Adăugaț i elemente statice la timpul de proiectare.
• Add items programmatically at run time.
• Adăugaț i articole folosind legarea datelor. Pentru detalii, consultaț iCum
Popula ț i lista de controale Web Server dintr-o dată
Sursă.
Când adăugaț i un element în listă, specificaț i până la trei proprietăț i posibile ale
element. Tabelul următor descrie aceste proprietăț i.
Property Description
Text Specifică textul afiș at în listă.
Valoare Specifica o valoare care este asociată cu un element, dar nu este
afi ș at. De exemplu, pute ț i seta proprietatea Text la
name of chemical element and the Value property to the symbol
al elementului.
Selectat Indică dacă articolul este selectat. Într-o Listă de casete de selectarecontrol
şi într-o selecţie multiplă Listă de selecț iecontrol, mai mult de un articol poate
a fi selectat. Într-un Lista derulantăcontrolListaButonRadiocontrol
ș i selec ț ie unicăListă de selec ț iecontrol, doar un singur element poate fi
selectat într-un timp. Dacă setaț i mai mult de un element selectat în
aceste controale, browserul determină care element este redat
ca selecț ionat. Într-oLista cu punctecontrol, această setare nu are efect.
Pentru a adăuga elemente statice la timpul de proiectare
1. În modul Design, selectaț i controlul de listă la care doriț i
pentru a adăuga articole.
În fereastra Proprietăț i, faceț i clic pe butonul cu trei puncte ( ) din caseta Elemente.
Se află fereastra de dialog a editorului colecț iei ListItem.
2. Clickaț i Adăugaț i pentru a adăuga un nou element.
3. Selecta ț i noul element, apoi în grila de proprietă ț i,
introduceț i valori pentru proprietăț ile sale Text, Value ș i Selected.
[Link]ț i paș ii 2 ș i 3 pentru fiecare element pe care doriț i să-l adăugaț i, ș i
apoi faceț i clic pe OK.
Pentru a adăuga elemente programatic
1. Creează un nou obiect de tipElement de listăș i setează-iTextș i
Valoareproprietăț i. De obicei, creezi noulListItem de
apelând laAdaugămetodă.
2. Sunaț i laAdaugămetoda controluluiArticolecollection and
transmite-i noul obiect.
Următorul exemplu de cod arată cum să adaugiElement de listăobiecte la un
Listă de op ț iunicontrol, dar procedura este identică pentru toate serverele web de listă
controllere.
C#
protejată voidButton1_Click(Object sender,EventArgs e)
{
[Link](NewListItem("Carbon","C"));
[Link](NewListItem("Oxygen","O"));
}
CheckBox and CheckBoxList
Obiect
Control
WebControl
ListControl
Listă de casete de selectare
Pute ț i folosi două tipuri de controale de server web pentru a adăuga casete de selectare la un
Pagină Web [Link]: individualCasetă de selecț iecontrollere sau unCheckBoxList control.
Ambele controale oferă utilizatorilor o modalitate de a specifica alegeri da/nu (adevărat/fals).
Adaugi individualCasetă de selectarecontroale pe o pagină ș i lucraț i cu ele individual.
În schimb, poț i folosiLista de casete de verificarecontrol, care este un singur control
care acț ionează ca un control parental pentru o colecț ie de elemente dintr-o listă cu casete de selecț ie. Derivă
de la bazăControlListaclasă, ș i prin urmare funcț ionează foarte mult caListă de selecț ie,
Listă derulantă, RadioButtonList, ș i Lista cu puncteControlere de server web. Multe
procedurile pentru a lucra cuListă de casete de verificarecontrolul este la fel ca
procedurile pentru celelalte controale ale serverului de listă.
Ambele tipuri de controale au avantaje. Prin utilizarea individualăCasetă de selecț ie
controalele, ob ț ii mai mult control asupra aspectului casetelor de selectare pe
pagina decât folosindLista de casete de selectarecontrol. De exemplu, poț i include
text non-caseta de selectare între fiecare casetă de selectare. De asemenea, poț i controla fontul
si culoarea casetelor de selectare individuale.
TheListaDeCutiiMarcatecontrolul este o alegere mai bună dacă vrei să creezi o serie de
bifa ț i căsu ț ele din datele sursei de date. (Pute ț i lega o individuală
Caseta de selectarecontrol la date.)
Evenimentele CheckBox ș i CheckBoxList
Evenimentele func ț ionează diferit între indiviziBifacontroale ș i
Listă de casete de selectarecontrol.
Evenimentele controlului CheckBox
IndividualCheckBox controalele ridicăVerificatSchimbateveniment când utilizatorii
faceț i clic pe control. În mod implicit, acest eveniment nu cauzează postarea paginii
la server. Cu toate acestea, poț i forț a controlul să efectueze o acț iune imediată
postback prin setareaAutoPostBackproprietate la adevărat. Pentru mai multe informaț ii,
vedeCum să: Răspunzi la selecț ia utilizatorului într-un control de server Web CheckBox.
S-ar putea să nu fie nevoie să creezi un handler de evenimente pentru VerificatSchimbat
eveniment. Puteț i testa care casetă de selectare este marcată în orice cod care rulează ca parte
al paginii. În general, creezi un handler de evenimente pentruVerificatSchimbat
eveniment doar dacă trebuie să ș tii că căsuț a de verificare a fost modificată, nu doar pentru
cite ș te valoarea unei casete de selectare. Pentru detalii, veziCum să: Setează ș i Ob ț ine
Selectarea într-un control de server Web RadioButton.
CheckBoxList Control Events
TheListă cu casete de selectarecontrol ridică oSelectedIndexChangedeveniment când utilizatorii
selectează orice casetă de verificare din listă. Implicit, evenimentul nu cauzează
pagina să fie postată pe server. Cu toate acestea, po ț i for ț a controlul să
efectuează un postback imediat prin setareaAutoPostBackproprietate pentru
adevărat.
Notabil proprietăț i
Proprietă ț ile notabile ale controlului CheckBoxList sunt după cum urmează:
Elemente: Obț ine/Setează colecț ia de elemente din listă
RepeatColumns: Gets/Sets the number of displayed columns in the check
lista de cutii
RepeatDirection: Gets/Sets the afiș a direcț ie de casete de selectare
RepeatLayout: Obț ine/Setează the checkbox dispunere
TextAlign: Gets/Sets the check box's text alignment
Imagine
Puteț i specifica fiș ierul grafic pentru unImaginecontrol la timpul proiectării sau la rulare
timp programatic. De asemenea, poț i lega controlulImageUrl proprietate la
a data source to display graphics based on database information.
Spre deosebire de cele mai multe alte controlere de server web,Image controlul nu suportă
orice evenimente. De exemplu,Imaginecontrolul nu răspunde la mouse
clicuri. În schimb, poț i crea o imagine interactivă folosindHartă Imaginată
sau pentruButonImagineControale server web.
Specificarea elementelor de text
În plus faț ă de afiș area unui grafic,Imaginecontrolul îț i permite să specifici
diferite tipuri de text pentru imagine, cum ar fi următoarele:
[Link] de sugestieTextul care este afisat intr-un tooltip in unele browsere.
[Link] Textul care este afi ș at dacă fi ș ierul grafic nu poate fi
găsit. Dacă nuToolTip proprietatea este specificată, unele browsere vor folosi
TextAlternativvaloare ca un tooltip.
Pentru a adăuga un control de server Web pentru imagine pe o pagină Web Forms
1. Din fila Standard a Toolbox-ului, trage un Imagine
control asupra paginii.
2.În categoria Apariț ie a ferestrei Proprietăț i, setaț i
controlulImageUrl proprietate la URL-ul unui .gif, .jpg sau
alt fiș ier grafic web.
TheHartă de imaginicontrolul constă din două piese. Prima este o imagine, care
poate fi un grafic în orice format grafic standard pentru web, cum ar fi .gif, .jpg,
sau fiș ier .png.
Al doilea element este o colecț ie dePunct fierbintecontroale. Fiecare control de zonă fierbinte
este un element diferit care este de tipPunct Calorifer Circular, RectangleHotSpot, sau
Punct Fierbinte PoligonPentru fiecare control de tip hot-spot, defineș ti coordonatele care
specificaț i locaț ia ș i dimensiunea punctului fierbinte. De exemplu, dacă creaț i un
Punct fierbinte circularcontrol, definiț i coordonatele x ș i coordonatele y ale
centru cercului ș i raza cercului.
Puteț i defini atât de multe sau atât de puț ine puncte calde pentru imagine cât aveț i nevoie.
nu trebuie să definim zonele fierbinț i pentru a acoperi întreaga grafică.
Răspunzând la clicurile utilizatorului
Pute ț i specifica ce se întâmplă când un utilizator face clic pe un hotspot. Pute ț i
configurează fiecare zonă fierbinte ca un hyperlink care duce la un URL pe care îl furnizezi
pentru acel punct fierbinte. Alternativ, poț i configura controlul pentru a efectua o
postback când un utilizator face clic pe un punct fierbinte ș i furnizează o valoare unică pentru fiecare
punct fierbinte. Postarea ridicăHartă de imaginecontrolulClickeveniment. În
manipulator de evenimente, poț i citi valoarea unică pe care o atribui fiecărui hot
spot.
<% @ Pagina Limbaj="C#"%>
<script runat="server">
protejat void ImageMap1_Click(object sender, ImageMapEventArgs e)
{
String region ="";
switch([Link])
{
case"NW":
region ="Northwest";
ruptura;
case"NE":
region ="Northeast";
întrerupe;
case"SE":
region ="Southeast";
ruptură;
case"SW":
region ="Southwest";
ruptură;
}
[Link] = "Ai făcut clic pe regiunea " + region + ".";
}
</script>
<html>
<corpul>
<form id="form1" runat="server">
<div>
<asp:Label runat="server" ID="Label1"/>
<br />
<br />
<asp:ImageMap ID="ImageMap1"ImageUrl="~/Images/[Link]"
runat="server"
HotSpotMode="PostBack"
OnClick="ImageMap1_Click"
<asp:RectangleHotSpot Jos="100" Dreapta="100"
HotSpotMode="PostBack"PostBackValue="NW"/>
<asp:RectangleHotSpot Bottom="100" Left="100" Right="200"
HotSpotMode="PostBack"PostBackValue="NE"/>
<asp:RectangleHotSpot Bottom="200"Right="100"Top="100"
PostBackValue="SW"/>
<asp:RectangleHotSpot Jos="200" Stânga="100" Dreapta="200"
Top="100"PostBackValue="SE"/>
</asp:ImageMap>
</div>
</formular>
</body>
</html>
Literal
Poț i adăuga unLiteralControlul serverului web pe pagina dvs. Web Forms atunci când
want to set text programatic fara a adauga etichete HTML suplimentare. The
Literalcontrolul este util ca o modalitate de a adăuga text pe o pagină dinamic fără
adăugând orice elemente care nu fac parte din textul dinamic. De exemplu, tu
poate folosiLiteralcontrol pentru a afiș a HTML pe care l-ai citit dintr-un fiș ier sau dintr-o
flux.
Codificarea conț inutului în controlul literar
TheLiteralcontrolul sus ț ineModproprietate, care specifică modul în care
mânerele de control gestionează marcajul pe care îl adăugaț i. Puteț i setaModproprietate la
aceste valori:
• Transformă. Orice marcaj pe care îl adăugaț i la
controlul este transformat pentru a se adapta
protocolul browser-ului solicitant. Această setare este
util dacă reda ț i con ț inut pe mobil
dispozitive care folosesc protocoale diferite de HTML.
• PasajOrice marcaj pe care îl adaugi la
controlul este redat ca atare în browser.
• Codifică. Orice marcaj pe care îl adăuga ț i la
controlul este codificat folosindHtmlEncodemetodă
care converte ș te codarea HTML în textul său
reprezentare. De exemplu, un <b>tag este
redat ca<b>.
Aș a cum s-a menț ionat mai sus, putem folosi un control literal pentru a edita HTML-ul direct în
designerul de cod. Linia următoare de cod demonstrează acest lucru.
[Link] = "<b><u>I am Literal</b></u>"
AdRotator
TheAdRotatorControlul serverului web poate fi folosit pentru a afiș a grafica care este
legat de alte pagini. Lista graficelor care urmează să fie afiș ate ș i asociate
linkurile ț intă sunt menț inute într-o sursă de date, cum ar fi un fiș ier XML sau o bază de date.
Acest subiect conț ine:
Scenarii
TheAdRotatorControlul serverului web oferă o modalitate de a afiș a reclame
(publicitate) pe paginile tale [Link]. Controlul afiș ează un fiș ier .gif sau altul
imagine grafică pe care o oferi. Când utilizatorii fac clic pe anunț , sunt redirecț ionaț i
la o adresă URL ț intă pe care a ț i specificat-o. Controlul cite ș te automat
informaț ii despre publicitate, cum ar fi numele fiș ierului grafic ș i URL-ul de destinaț ie,
dintr-o listă de reclame pe care o oferiț i folosind o sursă de date, care este de obicei un
Fiș ier XML sau o tabelă de bază de date.
TheAdRotatorcontrolul selectează anunț uri aleatoriu, schimbând anunț ul afiș at fiecare
timpul în care pagina este reîmprospătată. Reclamele pot fi cântărite pentru a controla nivelul de prioritate
de bannere, ceea ce face posibil să afiș eze anumite reclame mai des decât
altele. De asemenea, poț i scrie logică personalizată care parcurge anunț urile.
TheAdRotatorControlul serverului web poate fi folosit pentru a afişa grafica publicitară, cum ar fi
o imagine .gif sau similară. Utilizatorul poate fi apoi redirecț ionat către o adresă URL ț intă.
graficul ș i URL-ul ț intă pot fi furnizate dintr-o sursă de date, cum ar fi un XML
fiș ier.
Puteț i stoca informaț iile despre anunț într-un fiș ier XML care conț ine referinț e la anunț
banners and their associated properties.
ImageUrl: Specifies the image URL that presents the image for the
publicitate
NavigateUrl: Specifies the URL of the page to which the user should be taken
către când el clicuri pe the imagine
AlternateText: An optional parameter that specifies the text when the user
î și mi ș că cursorul mouse-ului peste imagine
Parametru opț ional care specifică cuvântul cheie (categoria) precum
căr ț i, programare, etc
Impresii: Parametru opț ional care oferă un număr care indică
greutatea anunț ului în ordinea rotirii în raport cu alte anunț uri din fiș ier
FiltruDeCuvinteCheie
Proprietatea KeywordFilter specifică un cuvânt cheie pentru a filtra tipuri specifice de
publicitate înXMLfiș ier de publicitate. Fiecare publicitate din XML
fiș ierul de publicitate poate fi atribuit un cuvânt cheie de categorie. FiltrulCuvântCheie
proprietatea filtrează anun ț urile pentru cuvântul cheie specificat. Numai
anun ț urile care con ț in cuvântul cheie vor fi selectate pentru AdRotator
control ș i nu este posibil să specifici mai mult de un cuvânt cheie în
proprietatea KeywordFilter, nici nu este posibil să declaraț i multiple cuvinte cheie în
fiș ier de publicitate.
Filtrarea anunț urilor după cuvânt cheie
În fi ș ierul de publicitate, po ț i asigna categorii anun ț urilor folosind
Atributul cuvânt cheie ș i apoi configurareaAdRotatorcontrol pentru a arăta reclame
conform criteriilor de filtrare pe care le specifica ț i. De exemplu, dacă un fi ș ier de anun ț .
conț ine categorii atât pentru bănci, cât ș i pentru magazine de hardware, s-ar putea să doreș ti
pagina pentru a afiș a doar reclame care sunt legate de bănci. Prin setareaAdRotator
controluluiFiltru de cuvinte cheieproprietate pentru "bănci," poț i avea filtrul de control
Verificaț i anunț urile magazinului de hardware.
Dacă este specificat un filtru, una dintre următoarele două situaț ii poate apărea:
• DacăAdRotatorcontrol poate găsi anunț uri cu
cuvânt cheie corespunzător, un anun ț cu cuvântul cheie este
afiș at.
• Dacă nu există nicio coresponden ț ă pentru cuvântul cheie, atunci
AdRotatorcontrolul afiș ează o imagine goală în
navigare
Țintă
Proprietatea Target specifică numelefereastră de browsersau cadru care
afiș ează conț inutulPagina weblegat de când controlul AdRotator
este apăsat. Această proprietate poate, de asemenea, să accepte următorul HTML
cuvinte cheie legate de cadru.
_blank: afiș ează conț inutul legat într-o fereastră nouă fără cadre
_parent: displays the linked content in the parent window of the window that
conț ine the link
_self: afişaje cel legat conț inut în the acelaș i fereastră
_top: afiș ează conț inutul legat în fereastra de sus
TheAdRotatorControlul serverului web citeș te informaț iile despre publicitate (ad) din
o sursă de date, care conț ine unul sau mai multe înregistrări de reclame. Puteț i stoca informaț iile despre reclame în
un fiș ier XML ș i apoi legaț i-lAdRotatorcontrolul asupra fiș ierului.
Toate atributele luiAdRotatorcontrolul este opț ional. Atributele următoare
poate fi inclus în fiș ierele XML:
• ImageUrlThe URL of the image to display.
• NavigateUrlThe URL of the page to go to when
theAdRotatorcontrolul este clicat.
• AlternateTextThe text to display if the image is
neocupat.
• Cuvânt cheie Categoria anun ț ului, care poate fi
folosit pentru a filtra anunț uri specifice.
• Impresii O valoare numerică (o ponderare
numărul) care indică probabilitatea de cât de des reclama
este afi ș at. Totalul tuturor valorilor de impresii în
Fiș ierul XML nu poate depăș i [Link] - 1.
• Inăl ț imeaAnunț ul în pixeli. Această valoare
suprascrie setarea implicită a înăl ț imii pentruAdRotator
control.
• Lă ț imea lărgimii anun ț ului în pixeli. Această valoare
suprapune setarea implicită a lă ț imii pentruAdRotator
control.
To create an ad list as an XML file
1. Creează un nou fiș ier XML în folderul App_Data al site-ului tău web.
Pentru o securitate suplimentară, oferă fiș ierului o extensie de nume de fiș ier diferită
decât .xml, cum ar fi .ads.
2. Adăugaț i următoarele elemente XML în fiș ier:
[Link]ă un element de reclamă în interiorul elementului Reclame
pentru fiecare anunț pe care doriț i să-l includeț i în lista de anunț uri, ș i apoi
salvează fiș ierul.
Un fiș ier exemplu ar putea arăta astfel:
<?xml version="1.0" encoding="utf-8" ?>
<Advertisements
xmlns="[Link]
<Anunț >
<ImageUrl>~/images/Contoso_ad.gif</ImageUrl>
<NavigateUrl>[Link]
<AlternateText>Ad for Contoso, Ltd. Web site</AlternateText>
<Impressions>100</Impressions>
</Reclamă>
<Anunț >
<ImageUrl>~/images/Aspnet_ad.gif</ImageUrl>
<NavigateUrl>[Link]
<AlternateText>Ad for [Link] Web site</AlternateText>
<Impressions>50</Impressions>
</Ad>
</Reclame>
BulletedList
Foloseș te-lListă cu punctecontrol pentru a face următoarele:
• Specificaț i aspectul articolelor ș i al
punctele sau numerele dintr-o listă.
• Defineț i elementele listei în mod static sau prin legare
controlul asupra datelor.
• Răspunde la clicurile utilizatorului pe articole.
Când foloseș ti BulletedList control, poț i face următoarele:
• Personalizaț i aspectul bulinelor ș i
numere.
• Specifică cum este redat fiecare element din listă,
cum ar fi un hyperlink, text static sau ca un buton de link.
• Furniza ț i logică pentru a efectua specific aplica ț iei
sarcini atunci când un utilizator face clic pe un element.
Property Description
Text Specificaț i textul afiș at în listă.
Value Specifica o valoare care este asociată cu un articol, dar nu este
afi ș at. De exemplu, po ț i seta proprietatea Text la
name of chemical element and the Value property to the symbol
al elementului.
Selectat Indică dacă elementul este selectat. Într-o Listă de casete de selectarecontrol
ș i într-o selecț ie multipla Lista de selectarecontrol, mai mult de un element poate
DropDownList controlLista de butoane radiocontrol
a fi selectat. Într-o
ș i selec ț ie unicăListBoxcontrol, doar un singur articol poate fi
selectat într-un singur moment. Dacă setaț i mai mult de un element selectat în
aceste controale, browserul determină care element este redat
ca selectat. Într-oListă cu punctecontrol, această setare nu are efect.
Pentru a adăuga elemente statice la timpul de proiectare
1. În modul de proiectare, selectaț i controlul listei la care doriț i
pentru a adăuga articole.
În fereastra Proprietăț i, faceț i clic pe butonul cu trei puncte ( ) din caseta Elemente.
Se afiș ează caseta de dialog Editor de colecț ie ListItem.
[Link]ț i clic pe Adăugaț i pentru a adăuga un articol nou.
[Link] ț i elementul nou, iar apoi în graficul de proprietă ț i,
introduceț i valori pentru proprietăț ile sale Text, Value ș i Selected.
4. Repetaț i paș ii 2 ș i 3 pentru fiecare element pe care doriț i să-l adăugaț i ș i
apoi faceț i clic pe OK.
Pentru a adăuga elemente programatic
1. Creează un nou obiect de tipItemListaș i setează-lText ș i
Valoareproprietăț i. De obicei, creezi noulElement de listăde
apelând laAdaugămetodă.
[Link]ă laAdăugaț imetoda controluluiArticolecolecț ie ș i
păstrează-l noul obiect.
Calendar
• Afi ș aț i ș i selecta ț i datele Controlul
afişează un calendar prin care utilizatorii pot naviga
orice zi din orice an. SetândSelectedDate
proprietatea determină evidenț ierea unei date specifice în
controlul. Opț ional, utilizatorii pot trece la arbritrar
date prin click pe o zi sau mutându-te de la o lună la
luna. Calendarul poate fi configurat pentru a permite
utilizatori pentru a selecta mai multe date, fie o săptămână întreagă
pentru o lună întreagă.
O reprezentare a controlului Calendar
afiș are the month de Octombrie
Notable properties
Proprietă ț ile notabile ale acestui control care îi stabilesc stilul sunt următoarele:
DayHeaderStyle: Seturi stil pentruthe days de the week
DayStyle: Seturi stiluri pentru the date în a luna
NextPrevStyle: Seturi stil pentru the navigaț ie controale
OtherMonthStyle: Sets style for the dates that are not in the displayed month
SelectedDayStyle: Sets style for the selected date
SelectorStyle: Setează stilul pentru coloana de selecț ie săptămânală ș i lunară
TitleStyle: Seturi stil pentru the title
TodayDayStyle: Seturi stil pentru astăzi dată
WeekendDayStyle: Sets style for weekend dates
În plus fa ț ă de proprietă ț ile men ț ionate mai sus, există ș i altele.
proprietăț i care pot fi setate pentru a controla diferite părț i ale calendarului. Acestea sunt
ca urmează:
ShowDayHeader: Spectacolesau ascunde the zile de the săptămână
ShowGridLines: Spectacole sau ascunde grilă linii
ShowNextPrevMonth: Shows or hides the navigation controls to the next or
anterior luna
ShowTitle: Shows or hides the title
Altele proprietăț i sunt ca urmează:
CellPadding: Gets/Sets the space used for cell padding in the calendar
CellSpacing: Gets/Sets the space between cells in the calendar
DayNameFormat: Gets/Sets the day of the week's name format
FirstDayOfWeek: Gets/Sets the day of the week displayed in the first column
NextMonthText: Gets/Sets the text for next month navigation control
NextPrevFormat: Gets/Sets the format for the next and previous month
navigaț ie controllere
OtherMonthDayStyle: Gets the style for the days not displyed in current
luna
PrevMonthText: Gets/Sets the text for previous month navigation control
SelectedDate: Obț ine/Setează the selectat data
SelectedDates: Gets a collection of DateTime objects for the selected dates
SelectionMode: Gets/Sets the date selection mode determining if you can
selectaț i a zi, a săptămână sau a lună
SelectMonthText: Gets/Sets the text for the month selection element
SelectWeekText: Gets/Sets the text for week selection element
TitleFormat: Obț ine/Seteazăa format pentru the title
TodaysDate: Obț ine/Setează astăzi dată
VisibleDate: Gets/Sets a date making sure it's visible
DZONE 9829708506 Specialistul .NET
F-157 ,Panch Sheel Marg ,C-Scheme,Bagaria Bhawan Market
Calendar Sample
Trageț i un Calendar ș i un control TextBox pe formular. Codul următor va
afiș aț i data selectată din Controlul Calendar în TextBox. Codul
arată aș a:
Privat gol Calendar1_SelectieSchimbata(Obiect
senderEventArgs e)
{
[Link] = [Link]
}
Control de încărcare a fiș ierelor
Poț i folosiFileUpload control la:
• Permite utilizatorilor să încarce fiș iere pe care le stochezi pe
o locaț ie specifică pe server.
• Limita ț i dimensiunea fi ș ierului care poate fi
încărcat.
• Examina ț i proprietă ț ile unui fi ș ier încărcat
înainte de a salva fiș ierul.
TheFileUpload controlul permite utilizatorilor să încarce imagini, fiș iere text sau altele
fiș ierele. TheÎncărcare fiș iercontrol displays a text box where users can type the
numele unui fi ș ier pe care doresc să-l încarce pe server. Controlul, de asemenea
afişează un buton de Răsfoire care deschide o fereastră de dialog pentru navigarea fi ș ierelor. (The
fereastra de dialog care este afiș ată depinde de sistemul de operare al utilizatorului
computer.) Din motive de securitate, nu puteț i preîncărca numele unui fiș ier în
celFileUpload control.
Gestionarea fiș ierelor încărcate
Când utilizatorii au selectat un fiș ier de încărcat ș i apoi au trimis pagina,
fiș ierul este încărcat ca parte a cererii. Fiș ierul este stocat în întregime în
memoria serverului. Când fiș ierul a terminat de încărcat, codul paginii tale rulează.
Puteț i accesa fiș ierul încărcat în următoarele moduri:
• Ca un array de octe ț i expus înFileUpload
controluluiFileBytes proprietate.
• Ca un pârâu expus înConț inutulFiș ierului
proprietate.
• Ca un obiect de tipHttpPostedFileîn
Fi ș ier trimisproprietate. TheFi ș ier trimisobiect
expune proprietăț i, cum ar fiContentType ș i
LungimeaConț inutuluiproprietăț i, care îț i oferă
informaț ii despre fiș ierul încărcat.
Câmp ascuns
CeiCâmpAscunscontrolul îț i oferă o modalitate de a stoca informaț ii în
pagina fără a o afiș a. De exemplu, ai putea stoca o preferinț ă a utilizatorului
setând într-un CâmpAscunscontrol pentru a putea fi citit în scriptul clientului. Pentru a pune
informaț ie într-oCâmpAscunscontrol, îi seteziValoareproprietate la valoare
vrei să stochezi între postback-uri
Informaț iile într-o Câmp ascunscontrolul nu este afisat atunci când browserul
randează pagina. Cu toate acestea, poate fi citit ș i setat în scriptul client. Când
pagina este repostată, conț inutulCâmpAscunscontrol, care include
orice modificări efectuate în scriptul clientului sunt disponibile în codul serverului.
MultiView ș i View
TheMultiViewș iVizualizareControalele serverului web ac ț ionează ca recipiente pentru altele
controale ș i marcare, ș i oferă o modalitate de a vă prezenta cu uș urinț ă variante alternative
perspective asupra informaț iilor.
Poț i folosi...MultiViewș iVizualizarecontroale pentru a efectua sarcini precum
următoarele:
• Oferi ț i seturi alternative de controale bazate pe
alegerea utilizatorului sau alte condi ț ii. De exemplu, tu
ar putea permite utilizatorilor să selecteze dintr-o listă de surse, fiecare
care este configurat într-un separat Vizualizarecontrol.
Apoi poț i afiș aVizualizarecontrol care conț ine
alegerea utilizatorului de fluxuri. Po ț i folosi
MultiViewș iVederecontrollere ca alternativă la
creând multiplePanoucontrols.
• Creează un formular multipagină.MultiViewș i
Vizualizarecontroalele pot oferi un comportament care este similar cu
theVrăjitorcontrol. TheVrăjitorcontrolul este
în mod deosebit potrivit pentru crearea formularelor pe care utilizatorii le completează
pas cu pas. TheVrăjitorcontrolul include de asemenea
support for more built-in UI elements, such as a
header and footer, for Previous and Next buttons,
ș i pentru ș abloane. Ai putea folosi unMultiView
control în locul unui aVrăjitordacă ai vrea să creezi
o display care se schimba in functie de conditie (mai degraba
decât secvenț ial), sau dacă nu aveai nevoie de extra
funcț ii acceptate deVrăjitorcontrol.
TheMultiViewcontrolul ac ț ionează ca un recipient extern pentru unul sau mai multeVizualizare
controale. AVizualizarecontroles, la rândul lor, pot conț ine orice combinaț ie de marcare
ș i controale.
TheMultiVizualizarecontrol afi ș ează unulVizualizarecontrol într-un moment, expunând
markup ș i controale în cadrul acestuiaVizualizarecontrol. Prin stabilireaMultiView
controluluiIndexulActiveViewproprietate, po ț i specifica careVizualizarecontrolul este
în prezent vizibil.
Redare conț inut control vizual
Dacă unVizualizarecontrolul nu este selectat, nu este redat pe pagină. Cu toate acestea,
instanț e ale tuturor controlerelor web în toateVizualizarecontroalele sunt create fiecare
timpul în care pagina este redată, iar valorile lor sunt stocate ca parte a paginii
stare de vizualizare.
Nici celeMultiViewcontrol nici individualVizualizarecontroalele redau orice marcaj
la pagina altceva decât conț inutul curentView control. De exemplu,
controalele nu redau un element div în acelaș i mod în care oPanoucontrol
nu sprijină. De asemenea, nu sprijină proprietăț ile de apariț ie care pot fi aplicate ca
un întreg la actualVizualiza ț icontrol. Dar po ț i atribui o temă la
MultiVederesauVizualizaț icontroale, care aplică tema tuturor controlurilor copil
curentulVizualizaț icontrol.
Panou
Po ț i folosiPanoucontrol ca un container pentru alte controale. Acesta este
în special util când creezi conț inut programatic ș i tu
am nevoie de o modalitate de a insera con ț inutul în pagină. Sec ț iunile următoare
descrie moduri suplimentare în care poț i folosiPanoucontrol.
Container pentru controale generate dinamic
ThePanoucontrolul oferă un recipient convenabil pentru controalele pe care le creaț i
la timpul de execuț ie.
Adăugarea barilor de derulare la alte controale
Unele controale, cum ar fiView de copacicontrolul nu are bare de derulare integrate.
Puteț i adăuga comportament de derulare plasând controlul într-un Panoucontrol. În
adăugaț i bare de derulare laPanoucontrol, seteazăÎnălț imeș iLăț imeproprietăț i pentru
restric ț ioneazăPanoucontrol la o dimensiune specifică, apoi seteazăBarele de derulare
proprietate.
Crearea de zone pe pagină cu o culoare personalizată sau altceva
apari ț iePanoucontrolul sus ț ine proprietă ț i de apari ț ie precum
BackColor ș iBorderWidth pe care îl poț i seta pentru a crea un aspect unic pentru un
regiune pe o pagină.
Pentru a adăuga un control Panel pe o pagină Web Forms
1.În modul Design, din tab-ul Standard al Toolbox-ului,
trage unPanoucontrol pe pagină.
2. Pentru a crea text static, faceț i clic în interiorul controlului ș i tastaț i. Pentru a
adaugă controale, trage-le din Toolbox în Panou
control.
3. Opț ional, trage marginile panoului pentru a redimensiona controlul.
4. Opț ional, setaț i proprietăț ile de Panoucontrol, care
sunt descrise în următorul tabel, pentru a specifica cum se panoul
interacț ionează cu controalele sale copil.
Proprietate Descriere
HorizontalAlign Specifica modul în care controalele copilului sunt aliniate în cadrul
panel (stânga, dreapta, centrat sau justificat).
Înfăș ura Specifica dacă conț inutul care este prea lat pentru panou este
împachetat pe linia următoare sau tăiat la marginea panoului.
Direcț ie Specifica dacă conț inutul controlului se redă din stânga-
dreapta sau dreapta-la-stanga. Acest lucru poate fi util pentru crearea zonelor
pe pagina care are o direcț ie diferită decât pagina
în ansamblu.
ScrollBars Dacă ai setatÎnăl ț imeș iLă ț imeproprietă ț i pentru
restricț ioneazăPanoucontrol la o dimensiune specifică, poț i adăuga
bare de derulare prin setareaBari de derulareproprietate.
Placeholder
TheLoc de rezervăControlul serverului web vă permite să plasaț i un control de container gol
în cadrul paginii ș i apoi adăuga ț i, elimina ț i sau parcurge ț i dinamic copiii
elemente la timpul de execuț ie. Controlul redă doar elementele sale copil; redă
fără marcaj propriu.
Pentru a adăuga programatic un control pe o pagină, trebuie să existe un
container pentru noul control. De exemplu, dacă creaț i rânduri de tabel,
recipientul este masa. Dacă nu există un control evident care să acț ioneze ca recipient,
poț i folosi unLoc de rezervăsauPanouControler de server web.
In some instances, you might want to create both static text and controls. To
creează text static, poț i folosi fie unLiteralsau oEtichetăControler server web.
Apoi poț i adăuga aceste controale în container aș a cum ai face cu orice altceva.
control.
Pentru a adăuga programatic un control pe o pagină, trebuie să existe un
container pentru noul control. De exemplu, dacă creaț i rânduri de tabel,
recipientul este masa. Dacă nu există un control evident care să acț ioneze ca recipient,
poț i folosi unLoc de rezervăsauPanouControler de server web.
În unele cazuri, s-ar putea să doriț i să creaț i atât text static, cât ș i controale. Pentru a
creaț i text static, puteț i folosi fie unLiteralsau oEtichetaControler de server web.
Apoi poț i adăuga aceste controale în container aș a cum ai face cu orice altceva.
control.
Eticheta myLabel = newLabel();
// Set the label's Text and ID properties.
[Link] ="Welcome";
[Link] ="Label1";
[Link](myLabel);
ButonRadioș iListă de butoane radio
Puteț i folosi două tipuri de controale de server Web pentru a adăuga butoane radio la un
[Link] Web page: individual Buton radiocontrols or a ListaRadioButon
control. Ambele controale permit utilizatorilor să aleagă dintr-un set mic de op ț iuni mutually.
exclusive, alegeri predefinite. Controalele îț i permit să defineș ti orice număr
of radio buttons with labels and to arrange them horizontally or vertically.
Adăugaț i individualButon de opț iunecontrole pentru o pagină ș i lucraț i cu ele individual.
De obicei, grupati două sau mai multe butoane individuale împreună.
Alternativ, po ț i folosiRadioButtonListcontrol, care este un singur
control care acț ionează ca un control părinte pentru o colecț ie de elemente din lista butoanelor radio.
Se derivă din bazaListControl clasă. Prin urmare, funcț ionează foarte mult ca ș i
Listă de selecț ie, Listă derulantă, Listă cu puncte, ș i Lista de casete de selectareControalele serverului web.
Multe dintre procedurile pentru a lucra cuRadioButtonListcontrolul este
la fel ca pentru cealaltă listă de controale ale serverului web.
TheListă de butoane radiocontrolul este o alegere mai bună dacă vrei să creezi un grup de
butonii radio bazati pe date dintr-o sursă de date. De asemenea, este uș or mai simplu de scris
cod care determină care buton a fost selectat.
Gruparea butoanelor radio
Butoanele radio sunt rareori folosite individual. În schimb, ele sunt grupate pentru a oferi o
set de opț iuni mutually exclusive. Într-un grup, doar un buton radio poate
să fie selectat într-un timp. Puteț i crea butoane radio grupate în aceste moduri:
• Adaugă individualButon radioServer web
controale către o pagină ș i apoi alocă manual
toț i într-un grup. Numele grupului este arbitrar;
toate butoanele radio cu acelaș i nume de grup sunt
considerat parte a unui singur grup.
• Adaugă unRadioButtonList Control al serverului web pentru
pagina. Elementele din listă din control sunt
grupate automat.
Control XML
UnXmlControlul serverului web citeș te XML ș i îl scrie într-un site web [Link]
pagina la locaț ia controlului. Dacă se aplică o transformare XSL (XSLT)
în XML, rezultatul transformării va fi redat pe pagină.
Puteț i folosi controlul serverului XML Web pentru a scrie un document XML, sau
rezultatele unei transformări XSLT, într-o pagină Web [Link]. XML
ieș irea apare în pagina web la locaț ia controlului.
Pentru a oferi o cale către un document XML extern
1. Adaugă unXmlcontrol pe pagina Web Forms.
2. Seta ț iSursaDocumentproprietatea controlului către
calea către documentul sursă XML.
Masă
MasaServer webcontrolul ne permite să construim un tabel HTML ș i ajută
ne organizează datele într-o formă tabelară. Tabelele pot fi create în timpul designului sau
timp de execuț ie. Pentru a crea un tabel, avem nevoie de TableRow ș i TableCell web
controles. Dacă creezi un tabel în timpul proiectării, adesea îl umpli cu conț inutul său
date statice, dar dacă le creezi în timpul execuț iei, atunci poț i să le completezi cu date dinamice
conț inut ca legarea acestuia la o sursă de date. Ierarhia de clase pentru acest control este
ca urmează:
Obiect
Control
WebControl
Masă
Proprietăț i Notabile
Proprietă ț ile notabile ale controlului Tabel sunt următoarele:
CellPadding: Gets/Sets the distance between the border and the contents of
the masă celulă
CellSpacing: Gets/Sets the distanț ă între masă celule
GridLines: Obț ine/Setează proprietatea de linii de grilă a clasei tabel.
HorizontalAlign: Gets/Sets the horizontal alignment of the table within the
pagină
Rânduri: Obț ine / Setează colecț ia de rânduri din cadrul tabelului
Control TableRow
The TableRow class is used to create the table rows we use in the Table
control. Acesta controlează modul în care sunt afiș ate conț inuturile tabelului. Clasa
ierarhie pentru acesta control este ca urmează:
Obiect
Control
WebControl
RândDeTabel
Proprietăț i Notabile
Proprietă ț ile notabile ale clasei TableRow sunt următoarele:
Celule: Obț ine o colecț ie de celule ale tabelului pentru rândul tabelului
AliniereOrizontală: Obț ine/Setează alinierea orizontală a conț inutului rândului
VerticalAlign: Obț ine/Setează alinierea verticală a conț inutului rândului
Control TableCell
Clasa TableCell reprezintă o celulă în controlul Table. Folosim Text
proprietate pentru a seta conț inutul celulei. Ierarhia claselor pentru acest control este
ca următoarele:
Obiect
Control
WebControl
CelulăTabel
Proprietăț i Notabile
Notabil proprietăț i de the CelulăDeTabel
clasă sunt ca urmează:
ColumnSpan: Gets/Sets the number of columns the cell spans
AliniereOrizontală: Obț ine/Setează alinierea orizontală a conț inutului celulei
RowSpan: Gets/Sets the number al rase the celulă intervale
Text: Obț ine/Setează the text în the celulă
VerticalAlign: Gets/Sets the celulă conț inutului aliniere verticală
Wrap: Gets/Sets whether the cell content wraps
Crearea tabelelor
Crearea unei tabele în timpul proiectării este destul de simplă. Trageț i un control de tabel pe
formati ș i adăugaț i câteva rânduri ș i coloane la aceasta folosind proprietatea theRows. Când
dai clic pe butonul cu elipsă din proprietă ț ile Rânduri, se deschide TableRow
Editor de colecț ii fereastră, aș a cum este arătat în imaginea de mai jos. Trebuie să faceț i clic pe
Adăugaț i butonul găsit în acest dialog pentru a adăuga rânduri în tabel. Odată ce adăugaț i un rând
la masă poț i observa proprietăț ile pentru rândul nou adăugat în
coloana din dreapta a ferestrei Editor de Colec ț ie TableRow. Pute ț i seta
proprietă ț i pentru rândul din această coloană. Pentru a adăuga o celulă într-un rând, selecta ț i
rând ș i faceț i clic pe butonul elipsă găsit în proprietatea Cells pentru a deschide
Editor de Colecț ie Celule de Tabel. Trebuie să faci clic pe butonul Adaugă găsit
pe această fereastră pentru a adăuga celule în rând. Odată ce adăugaț i o celulă în rând,
poț i observa proprietăț ile rândului nou adăugat în coloana din dreapta a
Fereastra Editor de Colecț ie a Celulelor. Puteț i adăuga un număr nelimitat de celule într-un rând
în funcț ie de cerinț ele dumneavoastră. Puteț i vizualiza un tabel la locul de muncă mai jos.
Controale de validare
Validarea este procesul de a te asigura că utilizatorul introduce corect
informa ț ii într-un formular. Controlul validării oferit de .NET Framework
lucrează în browser-ul clientului dacă browser-ul suportă Javascriptș i DHTML ș i
verifică datele introduse de utilizator înainte de a le trimite laserver. Toate
validarea are loc în browser ș i nimic nu este trimis înapoi pe server.
Dacă browserul nu suportă DHTML ș iscripting atunci validarea este finalizată
pe server. Toate controalele de validare din cadrul .NET Framework sunt derivate din
theBaseValidatorclass. This class serves as the base abstract class for the
controles de validare ș i oferă implementarea pentru toate controalele de validare
care derivă din această clasă.
Controalele de validare furnizate de .NET Framework sunt după cum urmează
urmează:
ValidatorDeCâmpObligatoriu
Validator de comparare
ValidatorDeInterval
RegularExpressionValidator
ValidatorPersonalizat
Comun pentru toate controalele menț ionate mai sus sunt mesajul de eroare ș i
Proprietă ț ile ControlToValidate. Proprietatea ErrorMessage este folosită pentru a seta un
eroarea care trebuie să fie afiș ată ș i proprietatea ControlToValidate este utilizată pentru a seta
control pe care vrei să-l verifici.
ValidatorDeCâmpObligatoriu
Cel mai simplu dintre toate, validatorul RequiredField se asigură că utilizatorul introduce
date într-un formular. De exemplu, pe un formular de înregistrare, ai putea dori ca
utilizatorii să îș i introducă data naș terii într-un câmp de text. Dacă lasă acest câmp gol,
această validare va afiș a o eroare. Ierarhia de clase pentru acest control
este după cum urmează:
Obiect
Control
ControlWeb
Etichetă
BaseValidator
ValidatorDeCâmpObligatoriu
O proprietate notabilă a ValidăriiCâmpuluiObligatoriu este proprietatea ValoareaIni ț ială
care setează o valoare iniț ială în control.
Validator de comparare
Validatorii de comparaț ie sunt folosiț i pentru a compara valorile introduse de utilizator
într-un control (textbox) cu valoarea introdusă într-un alt control sau cu un
valoare constantă. Indicam controlul de validare prin setarea
Proprietatea ControlToValidate ș i dacă dorim să comparăm un control specific cu
un alt control pe care trebuie să-l setăm pe proprietatea controlului de comparare pentru a specifica
control pentru a compara cu. Ierarhia de clase pentru acest control este după cum urmează:
Obiect
Control
WebControl
Label
OtherMonthStyle: Sets style for the dates that are not in the displayed month
SelectedDayStyle: Sets style for the selected date
SelectorStyle: Setează stilul pentru coloana de selecț ie săptămânală ș i lunară
TitleStyle: Seturi stil pentru the title
TodayDayStyle: Seturi stil pentru astăzi dată
WeekendDayStyle: Sets style for weekend dates
În plus fa ț ă de proprietă ț ile men ț ionate mai sus, există ș i altele.
proprietăț i care pot fi setate pentru a controla diferite părț i ale calendarului. Acestea sunt
ca urmează:
ShowDayHeader: Spectacolesau ascunde the zile de the săptămână
ShowGridLines: Spectacole sau ascunde grilă linii
ShowNextPrevMonth: Shows or hides the navigation controls to the next or
anterior luna
ShowTitle: Shows or hides the title
Altele proprietăț i sunt ca urmează:
CellPadding: Gets/Sets the space used for cell padding in the calendar
CellSpacing: Gets/Sets the space between cells in the calendar
DayNameFormat: Gets/Sets the day of the week's name format
FirstDayOfWeek: Gets/Sets the day of the week displayed in the first column
NextMonthText: Gets/Sets the text for next month navigation control
NextPrevFormat: Gets/Sets the format for the next and previous month
navigaț ie controllere
OtherMonthDayStyle: Gets the style for the days not displyed in current
luna
PrevMonthText: Gets/Sets the text for previous month navigation control
SelectedDate: Obț ine/Setează the selectat data
SelectedDates: Gets a collection of DateTime objects for the selected dates
SelectionMode: Gets/Sets the date selection mode determining if you can
selectaț i a zi, a săptămână sau a lună
SelectMonthText: Gets/Sets the text for the month selection element
SelectWeekText: Gets/Sets the text for week selection element
TitleFormat: Obț ine/Seteazăa format pentru the title
TodaysDate: Obț ine/Setează astăzi dată
VisibleDate: Gets/Sets a date making sure it's visible
DZONE
Trageț i un Calendar ș i un control TextBox pe formular. Codul următor va
afiș aț i data selectată din Controlul Calendar în TextBox. Codul
arată aș a:
Privat gol Calendar1_SelectieSchimbata(Obiect
clasaValidationSummary ș i ierarhia este următoarea:
Obiect
Control
WebControl
RezumatValidare
O caracteristică notabilă a acestui control este proprietatea DisplayMode care ne permite
pentru a afiș a erorile într-un format specific, de exemplu, ca o listă, un paragraf sau ca
o listă cu puncte.
ADO .NET
Cea mai mare parteaplicațiiavem nevoie de acces la date într-un anumit moment, făcându-l crucial
componentă atunci când lucra ț i cu aplica ț ii. Accesul la date face
aplicaț ia interacț ionează cu unbază de date, unde sunt stocate toate datele. Diferit
aplicaț iile au cerinț e diferite pentru accesul la baza de date. [Link] foloseș te
ADO .NET (Active X Data Object) ca acces ș i manipulare a datelor
protocol care ne permite de asemenea să lucrăm cu datele peInternet.
Arhitectura datelor [Link]
Accesul la date în [Link] se bazează pe două componente: DataSet ș i Data
Furnizor.
Set de date
Setul de date este o reprezentare de date deconectată, în memorie. Poate fi
considerat ca o copie locală a păr ț ilor relevante ale bazei de date.
DataSet este păstrat în memorie, iar datele din acesta pot fi manipulate ș i
updated independent of the database. When the use of this DataSet is
finalizat, modificările pot fi făcute înapoi în baza de date centrală pentru actualizare.
Datele din DataSet pot fi încărcate din orice sursă de date validă, cum ar fi Microsoft
bază de date SQL server, unBaza de date Oraclesau dintr-un Microsoft Access
bază de date.
Furnizor de date
The Data Provider is responsible forprovidingandmaintainingthe connection
la baza de date. Un DataProvider este un set de componente corelate care funcț ionează
împreună pentru a furniza date într-o manieră eficientă ș i orientată spre performan ț ă.
Framework-ul .NET vine în prezent cu două DataProviders: Data SQL
Providerul care este conceput să funcț ioneze doar cu SQL-ul Microsoft Server7.0 sau
mai târziu ș i OleDb DataProvider care ne permite să ne conectăm la alte tipuri de
baze de date precum Access ș i Oracle. Fiecare DataProvider constă din următoarele
clase de componente:
Obiectul Connection care oferă o conexiune la baza de date
Obiectul Command care este folosit pentru a executa o comandă
Obiectul DataReader care oferă o conexiune unică, doar în citire.
set de înregistrări
Obiectul DataAdapter care populază un DataSet deconectat cu date
ș i efectuează actualizarea
Accesul la date cu [Link] poate fi rezumat astfel:
Un obiect de conexiune stabileș te conexiunea pentru aplicaț ie cu
baza de date. Obiectul de comandă oferă executarea directă a comenzii către
baza de date. Dacă comanda returnează mai mult de o singură valoare, atunci
obiectul comenzii returnează un DataReader pentru a oferi datele. Alternativ,
DataAdapter poate fi folosit pentru a umple obiectul Dataset. baza de date poate fi
actualizat folosind obiectul de comandă sau DataAdapter.
DZONE 9829708506 Specialist .NET
F-157 ,Panch Sheel Marg ,C-Scheme,Bagaria Bhawan Market
Clasele de componente care alcătuiesc Furnizorii de Date
Obiectul de conexiune
Obiectul Connection creează conexiunea la baza de date. Microsoft
Visual Studio .NET oferă două tipuri de clase de conectare:
Obiectul SqlConnection, care este proiectat special pentru a se conecta la Microsoft
SQL Server 7.0 sau versiuni ulterioare ș i obiectul OleDbConnection, care poate oferi
conexiuni la o gamă largă de tipuri de baze de date, cum ar fiMicrosoft Accessș i
Oracle. Obiectul de conexiune con ț ine toate informa ț iile necesare pentru a
deschide o conexiune la baza de date.
Obiectul Comandă
Obiectul Command este reprezentat prin două clase corespunzătoare:
SqlCommand ș i OleDbCommand. Obiectele de comandă sunt folosite pentru a executa
comenzi către o bază de date printr-o conexiune de date. Obiectele Command
poate fi folosit pentru a executa proceduri stocate în baza de date, comenzi SQL,
sau returnaț i tabele complete direct. Obiectele de comandă oferă trei metode
care sunt folosite pentru a executa comenzi pe baza de date:
ExecuteNonQuery: Execută comenzi care nu au valori de returnare, cum ar fi
INSEREAZĂ ACTUALIZARE sau Ș terge
ExecuteScalar: Returnează o singură valoare dintr-o interogare a bazei de date
ExecuteReader: Returnează un set de rezultate prin intermediul unui obiect DataReader
The DataReader Object
Obiectul DataReader oferă un flux conectat, doar pentru citire, doar în direcț ia înainte.
set de înregistrări dintr-o bază de date. Spre deosebire de alte componente ale Provider-ului de Date,
Obiectele DataReader nu pot fi instantiate direct. Mai degrabă, DataReader
este returnat ca rezultat al metodei ExecuteReader a obiectului Command.
Metoda [Link] returnează un obiect SqlDataReader,
ș i metoda [Link] returnează un OleDbDataReader
obiect. DataReader poate oferi rânduri de date direct logicii aplicaț iei
când nu trebuie să păstrezi datele în cache în memorie. Pentru că doar unul
rândul este în memorie într-un singur moment, DataReader oferă cea mai mică supraîncărcare în
termeni de performan ț ă a sistemului, dar necesită utilizarea exclusivă a unui deschis
Connection object for the lifetime of the DataReader.
Obiectul DataAdapter
DataAdapter este clasa care stă la baza datelor deconectate în ADO .NET
acces. Este în esenț ă intermediarul care facilitează toată comunicarea între
baza de date ș i un DataSet. DataAdapter este folosit fie pentru a umple un
DataTable sau DataSet cu date din baza de date cu metoda sa de completare. După
datele rezidente în memorie au fost manipulate, DataAdapter poate
comite modificările în baza de date apelând metoda Update. The
DataAdapter oferă patru proprietăț i care reprezintă comenzi de bază de date:
ComandăSelect
ComandăInserare
ComandaȘ terge
ComandăDeActualizare
Când metoda Update este apelată, modificările din DataSet sunt copiate înapoi.
la baza de date ș i comanda de inserare, comanda de ș tergere sau
UpdateCommand is executed.
Conceptele Cadrelor
Adunări
Asamblarea este o unitate de implementare unică care con ț ine informa ț ii despre
implementarea claselor, structurilor ș i interfe ț elor. De asemenea, stochează
informaț ii despre sine numite metadate ș i include numele ș i versiunea
asamblarea, informaț ii de securitate, informaț ii despre dependenț e ș i
lista fiș ierelor care constituie ansamblul.
Asamblare
Unitate logică de desfăș urare
Conț ine manifest, metadate, MSIL ș i resurse
Manifest
Metadate despre componentele dintr-un ansamblu (versiune, tipuri,
dependinț e, etc.)
Tip Metadate
Descrie complet toate tipurile definite într-o asamblare:
properties, methods, arguments, return values, attributes, base
cursuri, ...
Limbaj Intermediar Microsoft (MSIL, IL)
Toate limbile se compilează în IL (cod gestionat)
IL este întotdeauna compilat în cod nativ înainte de
fiind executat
Runtime-ul Comun pentru Limbaje (CLR)
Common Language Runtime (CLR) este un motor de execuț ie
Gestionează codul .NET (cum ar fi aplicaț iile C#)
Oferă caracteristici precum gestionarea memoriei, fir de execu ț ie
management, siguranț a tipului de obiect, securitate, etc.
Este o parte a .NET Framework
Servicii CLR :
Gestionarea codului Gestionarea excepț iilor între limbi
Conversia MSIL în cod nativ Interoperare între .NET
Încărcarea ș i executarea gestionată Obiecte Framework ș i obiecte COM
cod ș i DLL-uri Win32
Creare și management de
metadata
Verificarea siguranț ei tipului Automatizarea aranjamentului obiectelor pentru întârziere
Inser ț ia ș i executarea securită ț ii legare
verificări
Gestionarea memoriei ș i izolare Dezvoltator servicii (profilare,
debugging, etc.)
Comun Limbă Timp de execuț ie
Model de Execuț ie
VB C# C++
Compilator Compilator Compilator
MSIL Asamblare Asamblare Asamblare
Ngen Compilator JIT al Timpului de Execuț ie a Limbajului Comun
Nativ Gestionat Managed Gestionat Neadministrat
cod Cod Cod Cod Cod
Servicii CLR
Serviciile Sistemului de Operare
Suport pentru mai multe limbi :
Sistem Comun de Tipuri (CTS)
Un superset al tipurilor de date utilizate de majoritatea modernă
limbaje de programare
Specificaț ia limbajului comun (CLS)
Un subset al CTS care permite codul scris în diferite limbi
a interopera
Ordinea evenimentelor Pagina Ciclu
i. Pagina_Init
ii. Page_LoadViewState
iii. Pagina_ÎncarcăDatePost
iv. Pagina_Încărcare
v. Pagina_RaisePostDataChanged
vi. Page_RaisePostBackEvent
vii. Pagina_PreRender
viii. Page_SaveViewState
ix. Pagina_Randare
x. Page_Dispose
xii. Page_Error (aceasta apare de fiecare dată când există o excepț ie pe pagină
nivel
Heap-ul gestionat
Reduce erorile
Face posibilă securitatea accesului la cod
Fără acces direct la memorie
Face posibilă siguranț a tipului
Coerciț ia tipurilor incompatibile nu este posibilă
Performanț ă
Crearea de noi obiecte este mult mai rapidă decât malloc()
Colectarea Deș eurilor
Colectarea gunoiului are loc atunci când o nouă operaț iune eș uează din cauza lipsei de
memorie
Toate firele gestionate sunt oprite
Serializare
Serializarea este procesul de convertire a unui obiect sau a unui grafic conectat.
de obiecte, stocate în memoria computerului, într-o secven ț ă liniară de
octeț i
Ambalare ș i deambalare?
Boxing:
Conversia unei instanț e de tip valoare într-un obiect, ceea ce implică că
instanț a va purta informaț ii complete despre tip în timpul execuț iei ș i va fi alocată în
mormanul.
Deschiderea pachetului:
Conversia unei instanț e de obiect într-un tip de valoare.
Tip de referinț ă ș i tip de valoare Date
Reference Type:
Tipurile de referin ț ă sunt alocate pe heap-ul gestionat CLR, la fel ca obiectul
tipuri.
O tip de dată care este stocat ca o referinț ă la locaț ia valorii. Valoarea de
un tip de referinț ă este locul secvenț ei de biț i care reprezintă
tipuri de date. Tipurile de referinț ă pot fi tipuri auto-descrierătoare, tipuri de pointer sau
tipuri de interfaț ă
Value Type:
Tipurile de valoare sunt alocate pe stivă, la fel ca tipurile primitive din VBScript.
VB6 ș i C/C++. Tipurile de valoare nu sunt instantiate folosind new, ies din domeniu.
când funcț ia în care sunt definite returnează. Tipurile de valoare în CLR sunt
definite ca tipuri care derivă din [Link].
O tip de date care descrie complet o valoare prin specificarea secvenț ei de biț i
aceasta constituie reprezentarea valorii. Informaț ii de tip pentru un tip de valoare
instan ț a nu este stocată împreună cu instan ț a la timpul de execu ț ie, dar este disponibilă în
Instanț ele de tip de valoare pot fi tratate ca obiecte utilizând boxing.
Diferenț a dintre un EXE ș i un DLL?
Po ț i crea obiecte din Dll, dar nu din EXE.
Dll este un Component In-Process, în timp ce EXE este un Component Out-Process.
Exe este pentru utilizare unică, în timp ce po ț i folosi Dll pentru utilizare multiplă.
Exe poate fi început ca standalone, în timp ce dll nu poate fi.
Ce este MSIL?
Când se compilează în cod gestionat, compilatorul traduce codul tău sursă
în limbaj intermediar Microsoft (MSIL), care este un set independent de CPU
de instrucț iuni care pot fi convertite eficient în cod nativ. MSIL include
instrucț iuni pentru încărcarea, stocarea, iniț ializarea ș i apelarea metodelor pe obiecte
precum ș i instruc ț iuni pentru opera ț ii aritmetice ș i logice, flux de control,
acces direct la memorie, gestionarea excepț iilor ș i alte operaț iuni. Înainte de cod
poate fi executat, MSIL trebuie să fie convertit într-un cod specific CPU, de obicei printr-o ...
compilator Just-in-time (JIT). Deoarece runtime-ul de limbaj comun furnizează unul
sau mai multe compilatoare JIT pentru fiecare arhitectură de computer pe care o susț ine, la fel
setul de MSIL poate fi compilat JIT ș i rulat pe orice arhitectură suportată.
Când un compilator produce MSIL, el produce de asemenea metadate. Metadatele
descrie tipurile din codul tău, inclusiv definiț ia fiecărui tip,
semnăturile membrilor fiecărui tip, membrii la care face referire codul tău,
ș i alte date pe care runtime-ul le folose ș te în timpul execu ț iei. MSIL ș i
metadatele sunt conț inute într-un fiș ier executabil portabil (PE) care se bazează pe
ș i extinde formatul publicat Microsoft PE ș i formatul comun de fi ș ier obiect
(COFF) folosit istoric pentru con ț inut executabil. Acest format de fi ș ier, care
acomodează cod MSIL sau nativ, precum ș i metadate, permite
sistemul de operare pentru a recunoa ș te imaginile runtime ale limbajului comun. The
prezenț a metadatelor în fiș ier împreună cu MSIL îț i permite codul să
se descrie pe sine, ceea ce înseamnă că nu este nevoie de biblioteci de tip sau
Limbajul de defini ț ie a interfe ț ei (IDL). Timpul de execu ț ie localizează ș i extrage
metadatele din fiș ier, după cum este necesar în timpul execuț iei.
Ce este codul gestionat ș i codul negestionat?
Framework-ul .NET oferă mai multe servicii esenț iale de rulare programelor
care funcț ionează în cadrul său - de exemplu gestionarea excepț iilor ș i securitatea. Pentru acestea
serviciile pentru a lucra, codul trebuie să ofere un nivel minim de informaț ii pentru
timpul de execu ț ie. adică, codul care se execută sub controlul CLR se nume ș te
cod gestionat. De exemplu, orice cod scris în C# sau Visual Basic .NET este
cod gestionat.
Code that runs outside the CLR is referred to as “unmanaged code.” COM
componente, componente ActiveX ș i funcț ii API Win32 sunt exemple de
cod neadministrat.
Diferenț a între [Link] ș i [Link]
[Link] ș i [Link] sunt ambele fiș iere de configurare. [Link] conț ine
setările specifice unei aplicaț ii, în timp ce [Link] conț ine setări
la un calculator. Sistemul de configurare caută mai întâi setările în
DZONE 9829708506 Specialistul .NET
F-157, Panch Sheel Marg, C-Scheme, Bagaria Bhawan Market
fiș ierul [Link] ș i apoi caută în fiș ierele de configurare a aplicaț iei. [Link],
poate apărea în mai multe directoare pe un server de aplica ț ii web [Link].
Fiecare fiș ier [Link] aplică setările de configurare directorului său ș i tuturor
directoare copil sub acesta. Există doar fiș ierul [Link] pe un server web.
Ce înseamnă DLL?
O DLL (Bibliotecă de link dinamic) este un fiș ier care poate fi încărcat ș i executat
prin programe dinamic. Practic, este un depozit extern de cod pentru
programe. Deoarece, de obicei, mai multe programe diferite reutilizează acelea ș i
DLL în locul de a avea acel cod în propriul fi ș ier, acest lucru dramatic
reînnoieș te spaț iul de stocare necesar. Un sinonim pentru un DLL ar fi bibliotecă
Difference between user control an custom control?
Web utilizator controls Vs Web personalizat controllere
Mai uș or către creează Vs Mai greu către creaț i
Suport limitat pentru consumatorii care folosesc un instrument de design vizual versus design vizual complet
sprijin pentru uneltele de design pentru consumatori
O copie separată a controlului este necesară în fiecare aplicaț ie Vs Doar una singură
o copie a controlului este necesară în cache-ul global al asamblării
Nu poate fi adăugat în Trusa de unelte din Visual Studio Vs Poate fi adăugat în
Toolbox în Visual Studio Bun pentru layout static Vs Bun pentru layout dinamic.
Diferenț a dintre ADO ș i [Link]
Format de transmisie
ADO a utilizat un format binar foarte eficient ș i compact, Avansat
Formatul Data Table Gram (ADTG), pentru a oferi transmisia de date între
aplicaț [Link] lucru limitează transmiterea directă a unui set de date către aplicaț ii
care nu putea susț ine acest format. De asemenea, nu există o metodă uș oară de a trimite
acest format binar funcț ionează eficient prin firewall-uri.
ADO .NET suportă formatul XML bazat pe text pentru transmiterea de
Date. Ca un standard bazat pe text, deschis ș i pe scară largă acceptat, XML este suportat în
COM, CORBA ș i diverse alte medii de calcul. Ca un text bazat pe
format, poate fi comunicat u ș or prin HTTP ș i oferind o simplă
metodă de a transmite date structurate prin firewalls.
Acces la date deconectat
ADO folose ș te o abordare orientată pe conexiuni pentru accesarea datelor, în timp ce ADO .NET
foloseș te setul de date în modul de deconectare. Este util în medii n-tier unde
men ț inerea unei conexiuni deschise la baza de date este de obicei ineficientă ș i
ineficient.
COM marshaling versus transmiterea de date bazată pe text
În ADO, transmiterea datelor dintr-un recordset deconectat poate avea loc doar
între componentele care suportă COM. Cu ADO .NET, nativ
suportul XML depă ș eș te această problemă ș i oferă o abordare pentru
transmiterea oricărui tip de date între aproape orice platformă.
Tipuri variate versus tipuri de date puternic tipizate
ADO foloseș te tipul de date variabil, în timp ce ADO .NET utilizează datele de tip puternic.
se asigură că conversia datelor de la un tip la altul este precisă ș i
complet.
Caracteristica setului de date
• Un DataSet poate reprezenta întreaga bază de date rela ț ională în memorie,
complet cu tabele, relaț ii ș i vizualizări.
• Un DataSet este proiectat pentru a funcț iona fără o conexiune continuă la
sursa de date originală.
• Datele dintr-un DataSet sunt încărcate în vrac, mai degrabă decât să fie încărcate la cerere.
• Nu există conceptul de tipuri de cursor într-un DataSet.
• Seturile de date nu au unpointer de înregistrare curent. Puteț i folosi bucle For Each pentru a
navigaț i prin date.
• Puteț i stoca multe modificări într-un DataSet ș i le puteț i scrie în original.
sursa de date într-o singură operaț iune.
Pentru că setul de date poate con ț ine mai multe tabele separate ș i poate men ț ine
informaț ii despre relaț iile dintre ele, poate conț ine date mult mai bogate
structuri decât un set de înregistrări, inclusiv tabele auto-referitoare ș i tabele cu
relaț ii many-to-many.
Sesiuni
Când o sesiune este ini ț iată la prima solicitare, serverul emite un unic
ID-ul sesiunii pentru utilizator. Pentru a păstra ID-ul sesiunii, stocaț i-l într-o memorie cache.
cookie (care este implicit), sau îl încorporează în URL-ul cererii după
numele aplicaț iei. Pentru a comuta între starea de sesiune cu cookie-uri ș i fără cookie-uri, setaț i
valoarea parametrului fără cookie în fiș ierul [Link] la adevărat sau fals.
În modul fără cookie-uri, serverul inserează automat ID-ul sesiunii în
relative URLs only.
[Link] suportă trei moduri de stare a sesiunii:
•
InProc: Modul In-Proc stochează valorile în memoria
Procesul de lucru [Link]. Astfel, acest mod oferă cea mai rapidă
acces la aceste valori. Cu toate acestea, când lucrătorul [Link]
procesul reciclează, datele de stare sunt pierdute.
•
StateServer: Alternativ, modul StateServer folose ș te un stand-
serviciul Microsoft Windows de a stoca variabilele de sesiune.
Pentru că acest serviciu este independent de Microsoft Internet
Serverul de informaț ii (IIS) poate rula pe un server separat. Tu
poate folosi acest mod pentru o solu ț ie de echilibrare a încărcării pentru că
multiple Web servers pot împărtă ș i variabilele de sesiune. Cu toate acestea
variabilele de sesiune nu sunt pierdute dacă reporneș ti IIS, performanț a este
impactat când traversezi limitele proceselor.
•
SqlServer: Dacă ai o mare îngrijorare cu privire la persistenț ă
informa ț ii de sesiune, po ț i folosi modul SqlServer pentru
foloseș te Microsoft SQL Server pentru a asigura cel mai înalt nivel de
fiabilitate. Modul SqlServer este similar cu modul în afara procesului,
cu excepț ia faptului că datele sesiunii sunt păstrate într-un SQL Server.
Modul SqlServer vă permite, de asemenea, să utilizaț i un magazin de stare care este
situat în afara procesului IIS ș i care poate fi situat pe
computer local sau un server la distanț ă.
Biscuiț i
Un cookie este un mic bit de text care însoț eș te cererile ș i paginile pe măsură ce
merge între serverul Web ș i browser. Cookie-ul conț ine informaț ii despre
Aplicaț ia web poate citi de fiecare dată când utilizatorul vizitează site-ul.
De exemplu, dacă un utilizator solicită o pagină de pe site-ul dumneavoastră ș i aplicaț ia dumneavoastră
trimite nu doar o pagină, ci ș i un cookie care conț ine data ș i ora, când
browserul utilizatorului primeste pagina, browserul primeste de asemenea cookie-ul, pe care acesta
stochează într-un folder pe discul dur al utilizatorului.
Mai târziu, dacă utilizatorul solicită din nou o pagină de pe site-ul tău, când utilizatorul introduce
URL-ul pe care browserul îl caută pe discurile locale pentru un cookie asociat cu
URL. Dacă cookie-ul există, browserul trimite cookie-ul către site-ul dvs. împreună
cu cererea de pagină. Aplica ț ia dvs. poate then determina data ș i
timpul în care utilizatorul a vizitat ultima dată site-ul. Ai putea folosi informa ț iile pentru
afiș aț i un mesaj utilizatorului sau verificaț i o dată de expirare.
Cookie-urile sunt asociate cu un site web, nu cu o pagină specifică, a ș a că
browserul ș i serverul vor schimba informaț ii despre cookie-uri indiferent de pagina
solicitanț ele utilizatorului de pe site-ul tău. Pe măsură ce utilizatorul vizitează site-uri diferite, fiecare site
s-ar putea trimite un cookie către browserul utilizatorului; browserul stochează toate
biscuiț i separat.
Cookie-urile ajută site-urile web să stocheze informa ț ii despre vizitatori. Mai general,
cookie-urile sunt un mod de a menț ine continuitatea într-o aplicaț ie Web—adică,
de a efectua gestionarea stării. Cu excepț ia perioadei scurte în care sunt
de fapt, schimbând informa ț ii, browserul ș i serverul Web sunt
deconectat. Fiecare cerere pe care un utilizator o face către un server Web este tratată
independent de orice altă solicitare. De multe ori, totuș i, este util pentru
Serverul web pentru a recunoaș te utilizatorii atunci când solicită o pagină. De exemplu,
Serverul web de pe un site de cumpărături urmăreș te cumpărătorii individuali, astfel încât site-ul
poate gestiona co ș uri de cumpărături ș i alte informa ț ii specifice utilizatorului. Un cookie
deci ac ț ionează ca un fel de carte de vizită, prezentând o identificare pertinentă
that helps an application know how to proceed.
Cookie-urile sunt folosite pentru multe scopuri, toate legate de ajutarea site-ului Web
ț ineț i minte utilizatorii. De exemplu, un site care desfăș oară un sondaj ar putea folosi un cookie
simplu ca o valoare Boolean pentru a indica dacă browserul unui utilizator a fost deja
a participat la votare astfel încât utilizatorul să nu poată vota de două ori. Un site care întreabă un
utilizatorul pentru autentificare ar putea folosi un cookie pentru a înregistra că utilizatorul s-a autentificat deja
astfel încât utilizatorul să nu fie nevoit să introducă din nou acreditivele.
Cookie-urile oferă un mijloc în aplica ț iile web de a stoca date specifice utilizatorului
informaț ii. De exemplu, când un utilizator vizitează site-ul tău, poț i folosi cookies
pentru a stoca preferin ț ele utilizatorului sau alte informa ț ii. Când utilizatorul vizitează site-ul tău
Site-ul web este altă dată, aplicaț ia poate recupera informaț iile pe care le-a stocat
mai devreme.
Browserele impun, de asemenea, restricț ii asupra numărului de cookie-uri pe care site-ul tău le poate stoca.
computerul utilizatorului. Cele mai multe browsere permit doar 20 de cookie-uri per site; dacă încerci
pentru a stoca mai mult, cele mai vechi cookie-uri sunt eliminate. Unele browsere de asemenea pun un
limita absolută, de obicei 300, asupra numărului de cookie-uri pe care le vor accepta de la toț i
site-uri combinate.
O limitare a cookie-urilor pe care ai putea să o întâlne ș ti este că utilizatorii î ș i pot seta
browserul să refuze cookie-urile.
Servicii Web
Serviciile web pot transforma aplica ț iile dvs. în aplica ț ii web.
Folosind serviciile Web, aplicaț ia ta poate publica funcț ia sau mesajul său
la restul lumii.
Web Servicii pot fii folosit de altele aplicaț ii.
Cu serviciile web, serverele Win 2k ale departamentului dvs. de contabilitate se pot conecta
cu serverul UNIX al furnizorului dumneavoastră IT.
The de bază Web Servicii platform este XML + HTTP.
Serviciile web folosesc XML pentru a codifica ș i decodifica datele tale ș i SOAP pentru a transporta
ea.
Ce sunt serviciile web?
• Serviciile web sunt componente de aplicaț ie
• Serviciile web comunică folosind protocoale deschise
• Serviciile web sunt autonome ș i se auto-descriu
• Serviciile web pot fi descoperite folosind UDDI
• Serviciile web pot fi utilizate de alte aplicaț ii
• XML este baza pentru serviciile web
Cum funcț ionează?
Platforma de bază a serviciilor Web este XML + HTTP.
Protocolul HTTP este cel mai folosit protocol de internet.
XML oferă un limbaj care poate fi utilizat între diferite platforme ș i
limbajele de programare ș i totuș i exprimă mesaje ș i funcț ii complexe.
WSDL
WSDL este un limbaj bazat pe XML pentru a descrie servicii web ș i cum să
accesaț i-le.
WSDL describes a web service, along with the message format and protocol
detalii pentru serviciul web.
Dacă doriț i să aflaț i mai multe despre WSDL, vă rugăm să vizitaț i pagina noastrăTutorial WSDL.
SĂPUN
SOAP este un protocol simplu bazat pe XML care permite aplicaț iilor să schimbe
informaț ii prin HTTP.
Sau mai simplu: SOAP este un protocol pentru accesarea unui serviciu web.
Ce este SOAP?
• SOAP înseamnă Protocol de Acces la Obiecte Simple
• SOAP este un protocol de comunicare
• SOAP este pentru comunicarea între aplicaț ii
• SOAP este un format pentru trimiterea mesajelor
• SOAP este conceput pentru a comunica prin Internet
• SOAP este independent de platformă
• SOAP este independent de limbaj
• SOAP se bazează pe XML
• SOAP este simplu ș i extensibil
• SOAP îț i permite să eviț i firewall-urile
• SOAP will be developed as aW3C standard
De ce SOAP?
Este important pentru dezvoltarea aplicaț iilor să permită comunicaț ia prin Internet
între programe.
Aplica ț iile de astăzi comunică folosind apeluri la proceduri la distan ț ă (RPC)
între obiecte precum DCOM ș i CORBA, dar HTTP nu a fost proiectat pentru asta.
RPC represents a compatibility and security problem; firewalls and proxy
serverele vor bloca de obicei acest tip de trafic.
O modalitate mai bună de a comunica între aplica ț ii este prin HTTP, deoarece
HTTP este suportat de toate browserele ș i serverele Internet. SOAP a fost creat pentru a
realizează acest lucru.
SOAP oferă o modalitate de a comunica între aplica ț iile care rulează pe
sisteme de operare diferite, cu tehnologii ș i programare diferite
limbi.
Serviciile web folosesc în principal Protocolul de Transfer Hypertext (HTTP) ș i SOAP pentru
face ca datele de afaceri să fie disponibile pe Web. Expune obiectele de afaceri
(obiecte COM, Java Beans etc.) în apeluri SOAP prin HTTP ș i execută
apeluri de funcț ii la distanț ă. Consumatorii de servicii Web pot invoca metoda
apelează la obiecte remote folosind SOAP ș i HTTP pe web.
Figura 1. Apelurile SOAP sunt apeluri de func ț ii de la distan ț ă care invocă metoda
executions on Web Service components at Location B. The output is
redat ca XML ș i returnat utilizatorului la Locul A.
Cum este utilizatorul de la Locaț ia A conș tient de semantica Serviciului Web la
Locaț ia B? Această întrebare este răspunsă prin conformarea la un standard comun.
Limba de descriere a serviciului (SDL), Limba contractului SOAP (SCL) ș i
Limba de specifica ț ie accesibilă re ț elei (NASSL) este un tip de XML asemănător
limbaje construite pentru acest scop. Cu toate acestea, IBM ș i Microsoft au ajuns recent la un acord
pe limbajul de descriere a serviciilor web (WSDL) ca serviciu web
standard.