Razor mendukung C# (C sharp) dan VB (Visual Basic).
Bagian ini menjelaskan aturan sintaksis Razor C# dan Razor VB.
Blok kode silet diapit @{ ... }
Ekspresi sebaris (variabel dan fungsi) dimulai dengan @
Akhiri pernyataan kode dengan titik koma
Variabel dideklarasikan menggunakan kata kunci var
String diapit tanda petik
Kode C# peka huruf besar-kecil
Ekstensi file C# adalah .cshtml
<!-- Blok pernyataan tunggal --> @{ var myMessage = "Hello World"; } <!-- Ekspresi atau variabel sebaris --> <p>Nilai myMessage adalah: @myMessage </p> <!-- Blok multi-pernyataan --> @{vargreeting = "Selamat datang di situs kami!";var weekDay = DateTime.Now.DayOfWeek;vargreetingMessage = salam + " Di sini, di Huston: " + hari kerja;} <p>Salamnya adalah: @greetingMessage </p>
Blok kode pisau cukur diapit dalam @Code ... End Code
Ekspresi sebaris (variabel dan fungsi) dimulai dengan @
Variabel dideklarasikan menggunakan kata kunci Dim
String diapit tanda petik
Kode VB tidak peka huruf besar-kecil
Ekstensi untuk file VB adalah .vbhtml
<!-- Blok pernyataan tunggal --> @Code dim myMessage = Kode Akhir "Halo Dunia". <!-- Ekspresi atau variabel sebaris --> <p>Nilai myMessage adalah: @myMessage </p> <!-- Blok multi-pernyataan --> @Codedim salam = "Selamat datang di situs kami!" dim weekDay = DateTime.Now.DayOfWeek dimgreetingMessage = salam & " Di sini, di Huston adalah: " & kode weekDayEnd <p>Salamnya adalah: @greetingMessage </p>
Razor adalah sintaks pemrograman sederhana untuk menyematkan kode server di halaman web.
Sintaks Razor didasarkan pada kerangka ASP.NET, bagian dari kerangka Microsoft .NET yang dirancang khusus untuk membuat aplikasi Web.
Sintaks Razor mendukung semua fitur ASP.NET, tetapi menggunakan sintaksis sederhana yang lebih mudah dipelajari bagi pemula dan lebih efisien bagi para ahli.
Halaman web Razor dapat digambarkan sebagai halaman web HTML dengan dua jenis konten: konten HTML dan kode Razor.
Saat server membaca halaman, server menjalankan kode Razor terlebih dahulu sebelum mengirim halaman HTML ke browser. Kode yang dieksekusi di server dapat melakukan tugas yang tidak dapat diselesaikan di browser, seperti mengakses database server. Kode server dapat membuat konten HTML dinamis dan mengirimkannya ke browser. Dari perspektif browser, HTML yang dihasilkan oleh kode server tidak berbeda dengan konten HTML statis.
Halaman web ASP.NET dengan sintaks Razor memiliki ekstensi file khusus cshtml (Razor C#) atau vbhtml (Razor VB).
Pengkodean server sering kali melibatkan objek. Objek "Tanggal" adalah objek ASP.NET bawaan yang khas, tetapi objek tersebut juga dapat berupa objek khusus, halaman web, kotak teks, file, catatan database, dll. Objek mempunyai metode untuk dieksekusi. Catatan database mungkin memiliki metode "Simpan", objek gambar mungkin memiliki metode "Putar", objek email mungkin memiliki metode "Kirim", dan seterusnya. Benda juga mempunyai sifat yang menggambarkan ciri-cirinya. Catatan database mungkin memiliki properti FirstName dan LastName.
Objek ASP.NET Date memiliki properti Now (ditulis sebagai Date.Now), dan properti Now memiliki properti Day (ditulis sebagai Date.Now.Day). Contoh berikut menunjukkan cara mengakses beberapa properti objek Data:
<table> <tr> <th>Nama</th> <td>Nilai</td> </tr> <tr> <td>Hari</td><td>@DateTime.Now.Day </td> </tr> <tr> <td>Jam</td><td>@DateTime.Sekarang.Jam </td> </tr> <tr> <td>Menit</td><td>@DateTime.Sekarang.Menit </td> </tr> <tr> <td>Kedua</td><td>@DateTime.Sekarang.Kedua </td> </tr> </td> </tabel>
Fitur penting dari halaman web dinamis adalah Anda dapat memutuskan apa yang harus dilakukan berdasarkan kondisi.
Cara umum untuk melakukan ini adalah dengan menggunakan pernyataan if ... else:
@{var txt = "";if(DateTime.Now.Hour > 12){txt = "Selamat Malam";}else{txt = "Selamat Pagi";}} <html> <body> <p>Pesan adalah @txt </p> </tubuh> </html>
Fitur penting lainnya dari halaman web dinamis adalah Anda dapat membaca masukan pengguna.
Input dibaca melalui fungsi Request[], dan data input dikirimkan melalui kondisi IsPost:
@{var totalMessage = "";if(IsPost){var num1 = Permintaan["text1"];var num2 = Permintaan["text2"];var total = num1.AsInt() + num2.AsInt();totalMessage = "Jumlah = " + jumlah;}} <html> <body style="background-color: beige; font-family: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">Nomor Pertama: </label><br> <input type="text" name="text1" /></p> <p><label for="text2">Nomor Kedua:</label><br> <input type= "teks" nama="teks2" /></p> <p><input type="kirim" value=" Tambahkan " /></p> </form> <p>@totalMessage </p> </tubuh> </html>