Curs 12

Notă: terminologia din acest domeniu nu este rezolvată. Unele cărți folosesc expresia "pagini de referință". Puteți folosi termenul "pagină de pornire", deși poate fi confundat cu Default.aspx.

De ce avem nevoie de pagini de design pentru șabloane?

Pentru un utilizator simplu, diferența dintre un site și celălalt este într-un design variat al paginilor. Majoritatea site-urilor de astăzi au un design ușor de recunoscut, realizat utilizând aceleași elemente în aceleași locuri din diferite pagini ale site-ului. Prin urmare, designul paginilor este puțin mai important decât funcționalitatea generală.

De exemplu, aruncați o privire la pagina principală a site-ului web Komsomolskaya Pravda. În fiecare zi există articole diferite, dar designul lor rămâne același. Acesta este logo-ul ziarului, barele de navigare din partea de sus, din dreapta, din stânga, clasificarea articolelor din dreapta, formularele pentru căutarea, abonarea și introducerea e-mailului. În partea de jos a paginii se află informațiile juridice.

Fundamentele paginilor principale

Pagina de șabloane include, de asemenea, anteturi și subsoluri comune.

Atunci când o pagină copil este editată în mediul de dezvoltare, fila Design afișează o pagină completă împreună cu elementele din șablon, dar sunt afișate în gri. Nu le puteți edita. Puteți modifica conținutul elementelor din Conținut.

În dialogul Adăugați un element nou, selectați tipul de pagină al paginii principale. Ca și paginile obișnuite, le puteți crea cu un cod sau un cod separat încorporat în pagină. Acest lucru nu afectează modelul de divizare a codului paginilor copil. În plus, paginile principale și copii pot fi dezvoltate în diferite limbi.

Prima diferență între această pagină și cea obișnuită este că ea începe cu directiva Master, mai degrabă decât Page. Clasa de pagini principale este definită în fișierul MasterPage.master.cs.

Dacă te uiți la el în browser, vei vedea că în partea stângă sunt afișate "fâșiile de pâine".

Destinația software a paginii principale

În pagina de conținut, puteți să vă reasociți pagina principală programabil. Pentru a face acest lucru, trebuie să atribuiți valoarea dorită proprietății Page.MasterPageFile. Șablonul se va schimba indiferent de șablonul care a fost atribuit în directiva @Page. Dar dacă încercați să faceți acest lucru în funcțiile Page_Load sau Page_Init, veți obține o eroare de execuție.

Această proprietate poate fi modificată numai în timpul procesării evenimentului Page_PreInit. Evenimentul Page_PreInit este cea mai veche fază a ciclului de viață al paginii care poate fi accesat. În timpul evenimentului Init, paginile principale și cele copil sunt deja îmbinate într-una, deci este prea târziu să schimbați șablonul. Din acest motiv, evenimentul Page_PreInit este singurul din mâner care poate lucra cu pagina principală separat de pagina de conținut.

Pentru a accesa comenzile din pagina principală din pagina de conținut, puteți utiliza funcția FindControl. Nu le puteți adresa direct, deoarece sunt membri protejați.

Paginile de șabloane pot avea metode și proprietăți. Pentru a le putea accesa, trebuie să utilizați directiva @MasterType. În același timp, pagina șablon de clasă pagină este accesibilă printr-un link puternic tipărit. Atributul TypeName specifică numele de tip, iar calea VirtualPath este relativă la directorul rădăcină al aplicației Web în fișierul de șablon.

Astfel, pagina permite accesul din exterior la proprietățile elementelor sale.

Pagina cu conținut modifică această proprietate, iar controlul AdRotator găsește utilizând FindControl:

Pagini principale nivelate

Modelele de design pot moșteni alte șabloane. De exemplu, un site este alcătuit din mai multe secțiuni. Toate paginile site-ului au elemente comune, iar toate paginile secțiunii au alte elemente comune. Situl magazinului de flori constă din secțiuni de flori perene și anuale. Pentru ei, s-au creat șabloane care moștenesc șablonul general al site-ului.

Pagina care descrie narghilele este în secțiunea culori perene și moștenește șablonul SectionPerrenials.

Secvența evenimentelor

Atunci când o pagină compusă este generată pe server, apar evenimente, pagini de șabloane și pagini de conținut. Ordinea acestor evenimente este utilă pentru a ști dacă vrem să programați persoanele care le manipulează.

Inițializați comenzile imbricate pentru pagina principală.

Inițializați controalele imbricate ale paginii de conținut.

Inițializați chiar pagina principală.

Inițializați pagina de conținut.

Descărcarea paginilor de conținut (Page_Load).

Încărcare (Pagina_Load) a paginii principale

Page_LoadComplete eveniment de pagină de conținut

Încărcați copiii de control ai controlului paginii principale.

Descărcarea comenzilor de gestionare a conținutului pentru pagina de conținut.

Evenimentul LoadComplete a fost introdus astfel încât să puteți accesa pagina de conținut din pagina de conținut creată în Pagina_Load. Acest lucru nu se poate face în modulul Page_Load al paginii de conținut, deoarece este încărcat în pagina principală.

Pagini de șablon pentru anumite platforme

Prin urmare, ASP.NET 2.0 permite în pagina de instrucțiuni MasterPageFile pentru a defini pagini diferite ale șablonului pentru containere specifice.

concluzie

Când creați aplicații în care toate paginile includ rubrici comune, pivnițele și durata de viață a sistemului de navigare pot facilita modelele de design. Ele sunt ușor de folosit și pot fi modificate oricând, în timp ce se actualizează întreaga aplicație.

Articole similare