ASP.NET Razor - C# ve VB kodlama dil gраматика
- Önceki Sayfa Razor Tanıtımı
- Sonraki Sayfa Razor C# Değişkeni
Razor hem C# (C sharp) hem de VB (Visual Basic) destekler.
C#'nın ana Razor dil bilgisi kuralları
- Razor kodu @{ ... } içinde sarılır
- Düzenli ifadeler (değişkenler ve fonksiyonlar) @ ile başlar
- Kod cümleleri noktalama işareti ile sona erer
- Dizgiler çember içinde yer alır
- C# kodu büyük/küçük harfe duyarlıdır
- C# dosya uzantısı .cshtml'dir
C# örneği
<!-- Tek satırlı kod bloğu --> @{ var myMessage = "Hello World"; } <!-- Düzenli ifade veya değişken --> <p>myMessage değerinin değeri: @myMessage</p> <!-- Çok satırlı kod bloğu --> @{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Here in Huston it is: " + weekDay; } <p>Merhaba mesajı: @greetingMessage</p>
Örneği Çalıştır
VB'nin ana Razor dil bilgisi kuralları
- Razor kod blokları @Code ... End Code ile çevrilidir
- Düzenli ifadeler (değişkenler ve fonksiyonlar) @ ile başlar
- Değişkenleri Dim anahtar kelimesi ile tanımlayın
- Dizgiler çember içinde yer alır
- VB büyük/küçük harfe duyarlı değildir
- VB dosya uzantısı .vbhtml'dir
Örnek
<!-- Tek satırlı kod bloğu --> @Code dim myMessage = "Hello World" End Code <!-- Düzenli ifade veya değişken --> <p>myMessage değerinin değeri: @myMessage</p> <!-- Çok satırlı kod bloğu --> @Code dim greeting = "Welcome to our site!" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Here in Huston it is: " & weekDay Kod Sonu <p>Merhaba mesajı: @greetingMessage</p>
Örneği Çalıştır
Çalışma şekli nedir?
Razor, web sayfalarına sunucu tarafı kodu yerleştirmek için kullanılan basit bir programlama dilidir.
Razor dil bilgisi ASP.NET çerçevesine dayanmaktadır, bu çerçeve, Microsoft'un .NET çerçevesinin web uygulama geliştirimi için özel olarak tasarlanmış bir bileşenidir.
Razor dil bilgisi, size ASP.NET'nin tüm yeteneklerini sunar, ancak basitleştirilmiş bir dil kullanır, bu nedenle yeni başlayanlar için daha kolay öğrenir, uzmanlar için ise üretkenliği artırır.
Razor web sayfaları, iki tür içeriğe sahip olan HTML sayfaları olarak tanımlanabilir: HTML içeriği ve Razor kodu.
Sunucu bu tür sayfaları okuduktan sonra, HTML sayfasını tarayıcıya göndermeden önce öncelikle Razor kodunu çalıştırır. Bu sunucuda çalışan kodlar, tarayıcıda gerçekleştirilemeyen görevleri tamamlayabilir, örneğin sunucu veritabanına erişim. Sunucu kodu, HTML sayfasının tarayıcıya gönderilmeden önce dinamik HTML içeriği oluşturabilir. Tarayıcıdan bakıldığında, sunucu kodu tarafından oluşturulan HTML, statik HTML içeriğinden farklı görünmez.
Razor dilbilgisi kullanımıyla ASP.NET web sayfaları özel bir dosya uzantısına sahiptir cshtml (C# Razor dilbilgisi kullanılarak) veya vbhtml (VB Razor dilbilgisi kullanılarak).
Nesnelerle Çalışma
Sunucu kodu genellikle nesnelerle ilgilidir.
"Date" nesnesi tipik bir ASP.NET yerleşik nesnesidir, ancak kendi nesnelerinizi de tanımlayabilirsiniz; bir web sayfası, bir metin kutusu, bir dosya veya bir veritabanı kaydı gibi.
Nesneler, onları gerçekleştirebilen yöntemlere de sahip olabilir. Veritabanı kayıtları 'Kaydet' yöntemini sağlayabilir, resim nesneleri 'Döndür' yöntemine sahip olabilir, e-posta nesneleri 'Gönder' yöntemini sağlayabilir ve benzerleri.
Nesneler, özelliklerini tanımlayan özelliklere de sahip olabilir. Veritabanı kayıtları FirstName ve LastName özelliklerine sahip olabilir.
ASP.NET Date nesnesi, Now özelliğine sahiptir (Date.Now olarak yazılır), Now özelliği Day özelliğine sahiptir (Date.Now.Day olarak yazılır). Aşağıdaki örnek, Date nesnesinin bazı özelliklerine nasıl erişileceğini gösterir:
Örnek
<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>
Örneği Çalıştır
If ve Else Şartları
Dinamik web sayfalarının önemli özelliklerinden biri, eylemi belirlemek için şartlara dayanmaktır.
Bu noktayı gerçekleştirmenin yaygın yolu if ... else ifadesi kullanmaktır:
Örnek
@{ var txt = ""; if(DateTime.Now.Hour > 12) {txt = "Good Evening";} else {txt = "Good Morning";} } <html> <body> <p> Mesaj @txt </p> </body> </html>
Örneği Çalıştır
Kullanıcı Girdisini Okuma
Dinamik web sayfalarının bir diğer önemli özelliği kullanıcı girdilerini okumaktır.
Request[] fonksiyonu tarafından okunan girdileri alır ve IsPost koşulu ile test edilir:
Örnek
@{ var totalMessage = ""; if(IsPost) { var num1 = Request["text1"]; var num2 = Request["text2"]; var total = num1.AsInt() + num2.AsInt(); totalMessage = "Toplam = " + total; } } <html> <body style="background-color: bej; font-family: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">İlk Sayı:</label><br> <input type="text" name="text1" /></p> <p><label for="text2">İkinci Sayı:</label><br> <input type="text" name="text2" /></p> <p><input type="submit" value="Ekle" /></p> </form> <p>@totalMessage</p> </body> </html>
Örneği Çalıştır
- Önceki Sayfa Razor Tanıtımı
- Sonraki Sayfa Razor C# Değişkeni