ASP.NET Razor - C# og VB kode语法
- Forrige side Razor Introduktion
- Næste side Razor C# Variabel
Razor understøtter både C# (C sharp) og VB (Visual Basic).
C#'s vigtigste Razor-syntaksregler
- Razor-kode er indkapslet i @{ ... }
- Indlejrede udtryk (variabler og funktioner) begynder med @
- Kodeudtryk afsluttes med semikolon
- Strengene er omgivet af citationstegn
- C#- kode er følsom over for store og små bogstaver
- C#-filens udvidelse er .cshtml
C# eksempel
<!-- Enkel linje kodeblok --> @{ var myMessage = "Hello World"; } <!-- Inline udtryk eller variabler --> <p>Værdien af min besked er: @myMessage</p> <!-- Multilinje kodeblok --> @{ var greeting = "Velkommen til vores site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Her i Huston er det: " + weekDay; } <p>Ønske tillykke er: @greetingMessage</p>
Kør eksempel
VB's vigtigste Razor-syntaksregler
- Razor-kodeblokke er omgivet af @Code ... End Code
- Indlejrede udtryk (variabler og funktioner) begynder med @
- Variable deklareres med Dim-nøglen
- Strengene er omgivet af citationstegn
- VB er ikke følsom over for store og små bogstaver
- VB-filens udvidelse er .vbhtml
Eksempel
<!-- Enkel linje kodeblok --> @Code dim myMessage = "Hello World" End Code <!-- Inline udtryk eller variabler --> <p>Værdien af min besked er: @myMessage</p> <!-- Multilinje kodeblok --> @Code dim greeting = "Velkommen til vores site!" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Her i Huston er det: " & weekDay Slut kode <p>Ønske tillykke er: @greetingMessage</p>
Kør eksempel
Hvordan virker det?
Razor er en simpel programmeringssyntaks, der bruges til at indlejre server-side kode i websider.
Razor-sprogget er baseret på ASP.NET-rammeverket, som er en del af Microsofts .NET-rammeverk, specifikt designet til udvikling af web-applikationer.
Razor-sprogget giver dig alle ASP.NET's evner, men bruger en forenklet syntaks, hvilket gør det lettere at lære for begyndere og mere produktivt for eksperter.
Razor websider kan beskrives som HTML sider med to typer indhold: HTML indhold og Razor kode.
Når serveren læser denne type side, køres Razor koden først, før HTML siden sendes til browseren. Disse koder, der kører på serveren, kan udføre opgaver, der ikke kan udføres i browseren, såsom adgang til serverens database. Server koden kan oprette dynamisk HTML indhold, før siden sendes til browseren. For browseren er HTML genereret af server koden ikke forskellig fra statisk HTML indhold.
ASP.NET websider med Razor syntaks har specielle filudvidelser cshtml (med C#s Razor syntaks) eller vbhtml (med VBs Razor).
At arbejde med objekter
Server kode involverer ofte objekter.
"Date" objektet er et typisk ASP.NET indbygget objekt, men man kan også definere egne objekter, en webside, en tekstboks, en fil, eller en database post, osv.
Objekter kan have metoder, der kan udføres. Database poster kan tilbyde en "gem" metode, et billedobjekt kan have en "rotér" metode, en e-mail objekt kan tilbyde en "send" metode, osv.
Objekter kan også have egenskaber, der beskriver deres egenskaber. Database poster kan have FirstName og LastName egenskaber.
ASP.NET Date objektet har en Now egenskab (skrevet som Date.Now), og Now egenskaben har en Day egenskab (skrevet som Date.Now.Day). Her er et eksempel på, hvordan man kan få adgang til visse egenskaber på Date objektet:
Eksempel
<table border="1"> <tr> <th width="100px">Name</th> <td width="100px">Value</td> </tr> <tr> <td>Day</td><td>@DateTime.Now.Day</td> </tr> <tr> <td>Hour</td><td>@DateTime.Now.Hour</td> </tr> <tr> <td>Minute</td><td>@DateTime.Now.Minute</td> </tr> <tr> <td>Second</td><td>@DateTime.Now.Second</td> </tr> </td> </table>
Kør eksempel
If og Else betingelser
En vigtig egenskab ved dynamiske websider er, at handlinger udføres baseret på betingelser.
Implementering af dette kan ofte gøres ved hjælp af if ... else sætninger:
Eksempel
@{ var txt = ""; if(DateTime.Now.Hour > 12) {txt = "God Aften";} else {txt = "God Morgen";} } <html> <body> <p>Bedriften er @txt</p> </body> </html>
Kør eksempel
Læs brugerinput
En anden vigtig egenskab ved dynamiske websider er at læse brugerinput.
Læser input ved hjælp af Request[] funktionen og testes ved IsPost betingelsen:
Eksempel
@{ var totalMessage = ""; if(IsPost) { var num1 = Request["text1"]; var num2 = Request["text2"]; var total = num1.AsInt() + num2.AsInt(); totalMessage = "Total = " + total; } } <html> <body style="background-color: beige; font-family: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">Første Nummer:</label><br> <input type="text" name="text1" /></p> <p><label for="text2">Andet Nummer:</label><br> <input type="text" name="text2" /></p> <p><input type="submit" value=" Tilføj " /></p> </form> <p>@totalMessage</p> </body> </html>
Kør eksempel
- Forrige side Razor Introduktion
- Næste side Razor C# Variabel