Razor sintaksisi


Razor C# (C sharp) va VB (Visual Basic) tillarining ikkalasini ham qo‘llab-quvvatlaydi.


ULASHISH

C# uchun Razor sintaksisining asosiy qoidalari

  • Razor kod bloklari @{ ... } ichiga olinadi
  • Inline ifodalar (o‘zgaruvchilar va funksiyalar) @ bilan boshlanadi
  • Kod operatorlari (ko‘rsatmalari) nuqtali vergul bilan tugaydi
  • O‘zgaruvchilar var kalit so‘zi bilan e’lon qilinadi
  • Stringlar qo‘shtirnoq ichiga olinadi
  • C# kodi katta-kichik harflarni farqlaydi
  • C# fayllari .cshtml kengaytmasiga ega

C# misoli

<!-- Single statement block --> @{ var myMessage = "Hello World"; } <!-- Inline expression or variable --> <p>The value of myMessage is: @myMessage</p> <!-- Multi-statement block --> @{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Here in Huston it is: " + weekDay; } <p>The greeting is: @greetingMessage</p>
Misolni ishga tushirish »

VB uchun Razor sintaksisining asosiy qoidalari

  • Razor kod bloklari @Code ... End Code ichiga olinadi
  • Inline ifodalar (o‘zgaruvchilar va funksiyalar) @ bilan boshlanadi
  • O‘zgaruvchilar Dim kalit so‘zi bilan e’lon qilinadi
  • Stringlar qo‘shtirnoq ichiga olinadi
  • VB kodi katta-kichik harflarni farqlamaydi
  • VB fayllari .vbhtml kengaytmasiga ega

Misol

<!-- Single statement block  -->  @Code dim myMessage = "Hello World" End Code   <!-- Inline expression or variable -->  <p>The value of myMessage is: @myMessage</p>    <!-- Multi-statement block -->  @Code dim greeting = "Welcome to our site!"  dim weekDay = DateTime.Now.DayOfWeek  dim greetingMessage = greeting & " Here in Huston it is: " & weekDay End Code <p>The greeting is: @greetingMessage</p>
Misolni ishga tushirish »


Bu qanday ishlaydi?

Razor — server kodini veb-sahifalarga joylashtirish uchun oddiy dasturlash sintaksisi.

Razor sintaksisi ASP.NET freymvorkiga — Microsoft.NET Framework’ning aynan veb-ilovalar yaratish uchun mo‘ljallangan qismiga asoslangan.

Razor sintaksisi sizga ASP.NET’ning barcha imkoniyatlarini beradi, lekin soddalashtirilgan sintaksisdan foydalanadi: yangi boshlovchi bo‘lsangiz, uni o‘rganish osonroq, tajribali mutaxassis bo‘lsangiz, u ish unumdorligingizni oshiradi.

Razor veb-sahifalarini ikki turdagi kontentga ega HTML sahifalar deb ta’riflash mumkin: HTML kontenti va Razor kodi.

Server sahifani o‘qiganda, HTML sahifani brauzerga yuborishdan oldin avval Razor kodini bajaradi. Serverda bajariladigan kod brauzerda bajarib bo‘lmaydigan vazifalarni, masalan, server ma’lumotlar bazasiga murojaat qilishni amalga oshira oladi. Server kodi dinamik HTML kontentni brauzerga yuborilishidan oldin shu zahoti (on the fly) yaratishi mumkin. Brauzer nuqtai nazaridan server kodi yaratgan HTML statik HTML kontentdan hech farq qilmaydi.

Razor sintaksisidagi ASP.NET veb-sahifalari maxsus cshtml (C# ishlatiladigan Razor) yoki vbhtml (VB ishlatiladigan Razor) fayl kengaytmasiga ega.


Obyektlar bilan ishlash

Server tomonida dasturlash ko‘pincha obyektlar bilan bog‘liq bo‘ladi.

"DateTime" obyekti — odatiy o‘rnatilgan ASP.NET obyekti, biroq obyektlar o‘zingiz aniqlagan obyekt, veb-sahifa, matn maydoni, fayl, ma’lumotlar bazasi yozuvi va hokazo bo‘lishi ham mumkin.

Obyektlar o‘zlari bajara oladigan metodlarga ega bo‘lishi mumkin. Ma’lumotlar bazasi yozuvida "Save" metodi, rasm obyektida "Rotate" metodi, elektron xat obyektida "Send" metodi bo‘lishi mumkin va hokazo.

Obyektlar, shuningdek, o‘z belgilarini tavsiflovchi xususiyatlarga ham ega. Ma’lumotlar bazasi yozuvida (boshqalar qatori) FirstName va LastName xususiyatlari bo‘lishi mumkin.

ASP.NET DateTime obyektida Now xususiyati (DateTime.Now ko‘rinishida yoziladi), Now xususiyatida esa Day xususiyati (DateTime.Now.Day ko‘rinishida yoziladi) bor. Quyidagi misol DateTime obyektining ba’zi xususiyatlariga qanday murojaat qilishni ko‘rsatadi:

Misol

<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>
Misolni ishga tushirish »

If va Else shartlari

Dinamik veb-sahifalarning muhim xususiyatlaridan biri — shartlarga qarab nima qilish kerakligini belgilash mumkinligi.

Buning keng tarqalgan usuli — if ... else operatorlari:

Misol

@{ var txt = ""; if(DateTime.Now.Hour > 12)   {txt = "Good Evening";} else   {txt = "Good Morning";} } <html> <body> <p>The message is @txt</p> </body> </html>
Misolni ishga tushirish »

Foydalanuvchi kiritgan ma’lumotlarni o‘qish

Dinamik veb-sahifalarning yana bir muhim xususiyati — foydalanuvchi kiritgan ma’lumotlarni o‘qish mumkinligi.

Kiritilgan ma’lumotlar Request[] funksiyasi orqali o‘qiladi, ma’lumot yuborilgani (kiritilgani) esa IsPost sharti orqali tekshiriladi:

Misol

@{ 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">First Number:</label><br> <input type="text" name="text1" /></p> <p><label for="text2">Second Number:</label><br> <input type="text" name="text2" /></p> <p><input type="submit" value=" Add " /></p> </form> <p>@totalMessage</p> </body> </html>
Misolni ishga tushirish »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!