ASP.NET Razor - Język kodu C# i VB
- Poprzednia strona Wprowadzenie do Razor
- Następna strona Zmienne C# w Razor
Razor obsługuje zarówno C# (C sharp) jak i VB (Visual Basic).
Główne zasady języka Razor w C#
- Kod Razor jest zawarty w @{ ... }
- Wewnętrzne wyrażenia (zmienne i funkcje) zaczynają się od @
- Zakończenie zdań kodu przez kropkę
- Ciągi są otoczone znakami cudzysłowymi
- Kod w C# jest wrażliwy na wielkość liter
- Rozszerzenie plików C# to .cshtml
Przykład w C#
<!-- Jednowierszowy blok kodu --> @{ var myMessage = "Hello World"; } <!-- Wewnętrzne wyrażenia lub zmienne --> <p Worth of myMessage is: @myMessage</p> <!-- Wielewierszowy blok kodu --> @{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Here in Huston it is: " + weekDay; } <p>Witamy: @greetingMessage</p>
Uruchom przykład
Główne zasady języka Razor w VB
- Bloki kodu Razor są otoczone @Code ... End Code
- Wewnętrzne wyrażenia (zmienne i funkcje) zaczynają się od @
- Zmienniki deklarowane za pomocą słowa kluczowego Dim
- Ciągi są otoczone znakami cudzysłowymi
- VB nie jest wrażliwe na wielkość liter
- Rozszerzenie plików VB to .vbhtml
Przykład
<!-- Jednowierszowy blok kodu --> @Code dim myMessage = "Hello World" End Code <!-- Wewnętrzne wyrażenia lub zmienne --> <p Worth of myMessage is: @myMessage</p> <!-- Wielewierszowy blok kodu --> @Code dim greeting = "Welcome to our site!" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Here in Huston it is: " & weekDay Koniec kodu <p>Witamy: @greetingMessage</p>
Uruchom przykład
Jak to działa?
Razor to prosty język programowania używany do wstawiania kodu serwerowego na stronach internetowych.
Język Razor oparty jest na frameworku ASP.NET, który jest częścią .NET frameworku Microsoft, specjalnie zaprojektowanego do tworzenia aplikacji web.
Język Razor daje Ci wszystkie możliwości ASP.NET, ale z uproszczonym语法, co ułatwia naukę dla początkujących, a dla ekspertów zwiększa produktywność.
Strony Razor mogą być opisane jako strony HTML z dwoma rodzajami zawartości: zawartością HTML i kodem Razor.
Po tym jak serwer odczyta taki plik, przed wysłaniem strony HTML do przeglądarki, najpierw uruchomiony zostanie kod Razor. Te kody uruchamiane na serwerze mogą wykonać zadania, które nie mogą być wykonane w przeglądarce, takie jak dostęp do bazy danych serwera. Kod serwerowy może tworzyć dynamiczny zawartość HTML przed wysłaniem strony do przeglądarki. Z perspektywy przeglądarki, HTML generowany przez kod serwerowy nie różni się od statycznego zawartości HTML.
Strony ASP.NET z gramatyką Razor mają specjalne rozszerzenie plików cshtml (używający gramatyki Razor w C#) lub vbhtml (używający gramatyki Razor w VB).
Praca z obiektami
Kod serwerowy często obejmuje obiekty.
Obiekt "Date" jest typowym wbudowanym obiektem w ASP.NET, ale można również samodzielnie zdefiniować obiekty, takie jak strona internetowa, pole tekstowe, plik lub rekord bazy danych, itp.
Obiekt może mieć metody, które mogą być wykonywane. Rekordy bazy danych mogą oferować metodę "zapisz", obiekt obrazu może mieć metodę "obróć", obiekt e-mail może oferować metodę "wyślij", itd.
Obiekt może również mieć właściwości opisujące jego cechy. Rekordy bazy danych mogą mieć właściwości FirstName i LastName.
Obiekt Date w ASP.NET ma właściwość Now (zapisywana jako Date.Now), która ma właściwość Day (zapisywana jako Date.Now.Day). Poniższy przykład pokazuje, jak uzyskać dostęp do niektórych właściwości obiektu Date:
Przykład
<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>
Uruchom przykład
Warunki If i Else
Ważną cechą dynamicznych stron internetowych jest podejmowanie działań na podstawie warunków.
Zwykłym sposobem na osiągnięcie tego jest użycie instrukcji if ... else:
Przykład
@{ var txt = ""; if(DateTime.Now.Hour > 12)} {txt = "Dobry wieczór";} else {txt = "Dzień dobry";} } <html> <body> <p>Wiadomość to @txt</p> </body> </html>
Uruchom przykład
Przeczytanie danych wejściowych użytkownika
Inną ważną cechą dynamicznych stron internetowych jest przeczytywanie danych wejściowych użytkownika.
Przeczytuje dane wejściowe za pomocą funkcji Request[] i testuje warunek IsPost:
Przykład
@{ var totalMessage = ""; if(IsPost) { var num1 = Request["text1"]; var num2 = Request["text2"]; var total = num1.AsInt() + num2.AsInt(); totalMessage = "Suma = " + total; } } <html> <body style="background-color: beż; font-family: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">Pierwsza liczba:</label><br> <input type="text" name="text1" /></p> <p><label for="text2">Drugie liczba:</label><br> <input type="text" name="text2" /></p> <p><input type="submit" value=" Dodaj " /></p> </form> <p>@totalMessage</p> </body> </html>
Uruchom przykład
- Poprzednia strona Wprowadzenie do Razor
- Następna strona Zmienne C# w Razor