Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Programi
  • HTML i URL kodiranje. Objekti sesije, aplikacije i predmemorije

HTML i URL kodiranje. Objekti sesije, aplikacije i predmemorije

Broj mjesta na kojima možete koristiti ili susresti znak @ u ASP.NET-u porastao je tijekom posljednjih nekoliko godina i čini se da njegova točna svrha u svim okolnostima još uvijek izaziva zbrku. Evo pregleda najčešćih mjesta na kojima se pojavljuje i smjernica za njegovu ispravnu upotrebu.

Razor sintaksa

Razor je lansiran kao nova sintaksa predloška s uvođenjem ASP.NET okvira web stranica. U MVC 3 dodan je novi motor za prikaz koji koristi Razor. Razor omogućuje miješanje koda na strani poslužitelja s HTML oznakom za generiranje HTML odgovora koji okvir šalje pregledniku. Znak @ ima četiri upotrebe u Razoru:

  • Za otvaranje bloka koda
  • Za označavanje inline izraza ili izraza
  • Za prikaz vrijednosti varijabli
  • Za generiranje pojedinačnih redaka sadržaja koji sadrže običan tekst ili neusklađene HTML oznake

Blokovi koda su dijelovi C # koda koji ne uključuju nikakav izlaz koji treba prikazati. Obično se nalaze na vrhu web-stranice ili pogleda i obično sadrže logiku za obradu stranice na web-stranicama ili jednostavne upute za prikaz u MVC-u. Blok koda počinje sa znakom @ nakon kojeg slijedi otvorna vitičasta zagrada, a završava završnim vitičastim zagradama:

@ (ViewBag.Title = "(! LANG: Uredi" ; Layout = !} "~ / Views / Shared / _EditLayout.cshtml"; }

Sadržaj unutar kodnog bloka je standardni C # kod. Česta pogreška je prefiks varijabli deklariranih unutar kodnog bloka sa znakom @. Ovo nije potrebno.

Umetnuti izrazi ili izrazi su isječci C # koda koji se pojavljuju unutar HTML-a. Najčešće se koriste za donošenje odluka o tome što generirati na temelju uvjeta ili za ponavljanje zbirki za prikaz u pregledniku:

< ul >@ foreach (var stavka u redovima) (// učini nešto)

Ugniježđeni izrazi ili izrazi ne počinju sa znakom @...

< ul >@ foreach (var stavka u recima) (ako (stavka.Jednako (x)) (// učini nešto))

Osim ako nisu odvojeni od vanjskog izraza ili iskaza neusklađenim oznakama

< ul >@ foreach (var stavka u recima) (< li >@ if (stavka. Jednako (x)) (// učini nešto) }

Znak @ koristi se u Razoru za prikazivanje vrijednosti varijabli, izraza i izjava u pregledniku:

@ Datum i vrijeme .Sada @ (neki uvjet? x: y)

Varijable unutar izraza i izraza ne smiju imati prefiks @ znak.

Ako želite prikazati običan tekst ili neusklađene oznake dok ste unutar bloka naredbe, koristite znak @ nakon kojeg slijedi dvotočka kako biste rekli Razoru da ono što slijedi nije kod C #:

@ if (stavka == x) // običan tekst (@: vrijeme je @ DateTime .Now) @ if (stavka == x) // neusklađene oznake (@:< ul >) ostalo (@:< ol > }

Identifikatori

Identifikator u C # je naziv koji se daje imenskom prostoru, klasi, varijabli, svojstvu, metodi, sučelju itd. Pravila određuju što čini valjani identifikator. Dopušteno je koristiti ključnu riječ C # kao identifikator, ali ako to učinite, morate koristiti znak @ kako biste spriječili pogreške u vremenu prevođenja. Savjetujemo vam da ne koristite ključnu riječ kao identifikator, ali ponekad to ne možete izbjeći.

Neka preopterećenja klasa HtmlHelper (web stranice i MVC) prihvaćaju objekt koji predstavlja HTML atribute koji će se prikazati kao dio oznake koju predstavlja pomoćnik. Sljedeći primjer dodaje atribut stila a unos teksta i postavlja svoju vrijednost na širinu: 100%; :

@ Html.TextBoxFor (model => novo (stil = "širina: 100%;"))

kada to učiniš, ti si stvaranje anonimnog tipa sa svojstvom zvanim style za predstavljanje HTML atributa. Ako želite postaviti CSS atribut klase putem ove metode, morate dodati svojstvo anonimnom tipu koji se zove class - što je ključna riječ C #. Stoga morate koristiti znak @ da biste omogućili korištenje klase u ovom slučaju:

@ Html.TextBoxFor (model => model.FirstName, htmlAttributes: novo (@class = "puna širina"))

Pogreška koju često ponavljam na ASP.NET forumima je da primijeniti@ znak za sva ostala svojstva anonimnog tipa, što jednostavno nije potrebno. Neki ljudi čak misle da je znak @ koji se ovdje koristi dio pravila sintakse Razor-a. "Nije. Njegova" upotreba ovdje je daleko prethodila Razoru.

Doslovni string literali

Doslovni literal niza u C # sastoji se od znaka @ iza kojeg slijedi literalni niz u dvostrukim navodnicima i završava točkom-zarezom, npr.

var s = @ "Hello World";

Dvije prednosti upotrebe doslovnog niza uključuju činjenicu da trebate izbjeći samo dvostruke navodnike (udvostručavanjem); i string može obuhvatiti više redaka u kodu bez potrebe za znakovima za nastavak. Iz tih razloga, doslovni literali stringova najprikladniji su za predstavljanje staza (koji bi inače trebali izbjeći njihove kose crte) i obrasce regularnog izraza (koji također mogu zahtijevati izbjegavanje obrnutih kosih crta).

Regex re = novi Regex ( @ "\ w \ d (1,3) \. \ d (1,3) \. \ d (1,3). \ d (1,3) \ w");

Oni su također korisni za predstavljanje velikih blokova teksta ako ih je potrebno uključiti u kod na čitljiv način, kao što su SQL izrazi koji se mogu koristiti u aplikacijama web stranica:

var sql = @ "ODABIR p.ProductName, o.UnitPrice, o.Quantity, (o.UnitPrice * o.Quantity) - (o.UnitPrice * o.Quantity * o.Discount) Kao ukupni trošak IZ pojedinosti o narudžbi o INNER JOIN Proizvodi p ON o. ProductID = p.ProductID WHERE o.OrderID = @ 0 ";

Upotreba znaka @ u ovom kontekstu još jednom nema nikakve veze sa sintaksom Razora.

Sažetak

Ako ste se ikada zapitali kada i gdje biste trebali koristiti znak @ u svom ASP.NET kodu, nadamo se da vam je ovaj članak pomogao riješiti vašu zbrku.

Datoteka Active Server Pages (ASP) je tekstualnu datoteku s nastavkom ".asp". Ova datoteka može sadržavati:

  • tekstualni podaci;
  • HTML oznake
  • poslužiteljske skripte.

Da biste brzo stvorili ".asp" datoteku, samo preimenujte HTML datoteku mijenjajući ekstenziju ".htm" ili ".html" u ".asp". Ako datoteka ne sadrži ASP funkcionalnost, poslužitelj jednostavno učinkovito šalje datoteku na računalo korisnika. Ova osobina pruža dodatnu pogodnost za web programere koji datotekama mogu dati ekstenziju ".asp" čak i ako ne namjeravaju naknadno uključiti ASP funkcionalnost.

Da biste novostvorenu .asp datoteku objavili na Internetu, morate je spremiti u virtualni direktorij web-mjesta (potonji mora imati dopuštenje Script ili Run). Nakon toga, možete se pozvati na ovu datoteku u zahtjevu navodeći odgovarajući url adresa... (Zapamtite to jer se ASP stranice moraju prikazati na poslužitelju, unoseći fizičku stazu do datoteke ".asp" u u ovom slučaju datoteka, kada se gleda u pregledniku, je HTML stranica... Ovo ima nekog smisla, budući da se datoteka izvršava prije nego što se pošalje na poslužitelj. raščlanjivanje i izvršavaju se sve skripte ASP poslužitelja. Stoga korisnici uvijek dobivaju obične HTML datoteke.

.Asp datoteke mogu se kreirati u bilo kojem uređivač teksta... Kako stječete iskustvo, možda će vam biti prikladnije raditi specijalni urednik koji uključuje dodatnu podršku za ASP, kao što je Microsoft® Visual InterDev™. (Za više informacija pogledajte web-mjesto Microsoft Visual InterDev na http://msdn.microsoft.com/vinterdev/.)

Dodavanje naredbi u poslužiteljsku skriptu

Skripta na strani poslužitelja sastoji se od niza instrukcija koje šalju naredbe jednu po jednu na web poslužitelj. (Dizajneri web-mjesta možda su upoznati sa skriptama na strani klijenta koje se pokreću u web-pregledniku.) Datoteke ".Asp" koriste graničnike za odvajanje skripti od tekstualnih podataka i HTML naredbi. Separator je znak ili niz znakova koji označava početak ili kraj odjeljka. HTML jezik koristi znakove (<) и (>), između kojih se nalaze HTML oznake.

U ASP-u su naredbe skripte razgraničene<% и %>... Ograničenja mogu sadržavati sve valjane naredbe za skriptni jezik koji koristite. Ispod je primjer jednostavne HTML stranice sa skriptnim naredbama.

Ova stranica je zadnji put osvježena<%= Now() %>.

VBScript funkcija Sada () vraća trenutni datum i vrijeme. Tijekom obrade ove stranice, web preglednik će zamijeniti<%= Now() %>trenutne vrijednosti datuma i vremena i vratit će stranicu u preglednik sa sljedećim rezultatom:

Ova stranica je zadnji put osvježena 29.01.99 u 14:20.

Pozivaju se razgraničene naredbe jezgre timova skripte i obrađuju se pomoću glavnog skriptnog jezika. Naredba unutar graničnika mora biti važeća naredba skriptnog jezika glavnog računala. Prema zadanim postavkama, primarni skriptni jezik je VBScript; možete postaviti drugi zadani skriptni jezik. Pogledajte Rad sa skriptnim jezicima.

Front-end programeri upoznati su s HTML oznakom

Vrhunski povezani članci