ASP.NET Razor - C# နှင့် VB Code Syntax
Razor သည် C# (C sharp) နှင့် VB (Visual Basic) နှစ်မျိုးလုံးကို ပံ့ပိုးပေးသည်။
C# အတွက် အဓိက Razor Syntax စည်းမျဉ်းများ
- ဘလိတ်ကုဒ်တုံးများကို @{ ... } တွင် ထည့်သွင်းထားသည်။
- လိုင်းအသုံးအနှုန်းများ (ကိန်းရှင်များနှင့် လုပ်ဆောင်ချက်များ) @ ဖြင့် စတင်သည်
- ကုဒ်ဖော်ပြချက်များသည် semicolon ဖြင့်အဆုံးသတ်သည်။
- Variable များကို var keyword ဖြင့်ကြေငြာသည်။
- စာကြောင်းများကို ကိုးကားမှတ်များဖြင့် ဖုံးအုပ်ထားသည်။
- C# ကုဒ်သည် case sensitive ဖြစ်သည်။
- C# ဖိုင်များတွင် extension .cshtml ရှိသည်။
C# ဥပမာ
<!-- 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>
VB အတွက် Main Razor Syntax စည်းမျဉ်းများ
- Razor ကုဒ်တုံးများကို @Code ... End Code တွင် ထည့်သွင်းထားသည်။
- လိုင်းအသုံးအနှုန်းများ (ကိန်းရှင်များနှင့် လုပ်ဆောင်ချက်များ) @ ဖြင့် စတင်သည်
- Dim သော့ချက်စာလုံးဖြင့် ကိန်းရှင်များကို ကြေငြာသည်။
- စာကြောင်းများကို ကိုးကားမှတ်များဖြင့် ဖုံးအုပ်ထားသည်။
- VB ကုဒ်သည် အသေးအဖွဲကိစ္စမဟုတ်ပါ။
- VB ဖိုင်များတွင် တိုးချဲ့မှု .vbhtml ရှိသည်။
ဥပမာ
<!-- 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>
ဤအရာဘယ်လိုအလုပ်လုပ်လဲ?
Razor သည် ဝဘ်စာမျက်နှာများတွင် ဆာဗာကုဒ်ကို မြှုပ်နှံရန်အတွက် ရိုးရှင်းသော ပရိုဂရမ်အထားအသိုတစ်ခုဖြစ်သည်။
Razor syntax သည် ဝဘ်အက်ပလီကေးရှင်းများဖန်တီးရန်အတွက် အထူးဒီဇိုင်းထုတ်ထားသည့် Microsoft.NET Framework ၏ ASP.NET ဘောင်အပေါ် အခြေခံထားသည်။
Razor syntax သည် သင့်အား ASP.NET ၏ စွမ်းအားအားလုံးကို ပေးစွမ်းသည်၊ သို့သော် သင်စတင်သူဖြစ်ပါက လေ့လာရန်ပိုမိုလွယ်ကူသည့် ရိုးရှင်းသော syntax ကိုအသုံးပြုထားပြီး သင်ကျွမ်းကျင်သူဖြစ်လျှင် သင့်အား ပိုမိုအကျိုးဖြစ်ထွန်းစေပါသည်။
Razor ဝဘ်စာမျက်နှာများကို HTML အကြောင်းအရာ နှင့် Razor ကုဒ် နှစ်မျိုးပါရှိသော အကြောင်းအရာ နှစ်မျိုးဖြင့် HTML စာမျက်နှာများအဖြစ် ဖော်ပြနိုင်ပါသည်။
ဆာဗာသည် စာမျက်နှာကိုဖတ်သောအခါ၊ ၎င်းသည် HTML စာမျက်နှာကို browser သို့မပို့မီ Razor ကုဒ်ကို ဦးစွာလုပ်ဆောင်သည်။ ဆာဗာပေါ်တွင် လုပ်ဆောင်သော ကုဒ်သည် ဘရောက်ဆာတွင် လုပ်ဆောင်၍မရသော အလုပ်များကို လုပ်ဆောင်နိုင်သည်၊ ဥပမာ၊ ဆာဗာဒေတာဘေ့စ်ကို ဝင်ရောက်ခြင်း ဖြစ်သည်။ ဆာဗာကုဒ်သည် ဘရောက်ဆာသို့ မပို့မီတွင် ပြောင်းလဲနေသော HTML အကြောင်းအရာများကို ဖန်တီးနိုင်သည်။ ဘရောက်ဆာမှတွေ့ရှိရသည်မှာ ဆာဗာကုဒ်မှထုတ်ပေးသော HTML သည် တည်ငြိမ်သော HTML အကြောင်းအရာများနှင့် မတူပါ။
Razor syntax ပါရှိသော ASP.NET ဝဘ်စာမျက်နှာများတွင် အထူးဖိုင် extension cshtml (C# ကိုအသုံးပြုထားသော Razor) သို့မဟုတ် vbhtml (VB ကိုအသုံးပြုထားသော Razor) ရှိသည်။
အရာဝတ္ထုများနှင့်အတူအလုပ်လုပ်
Server coding မှာ objects တွေ ပါဝင်လေ့ရှိပါတယ်။
"DateTime" အရာဝတ္တုသည် ပုံမှန်ထည့်သွင်းထားသည့် ASP.NET အရာဝတ္ထုတစ်ခုဖြစ်သော်လည်း အရာဝတ္တုများကို ကိုယ်တိုင်သတ်မှတ်နိုင်သည်၊ ဝဘ်စာမျက်နှာ၊ စာသားဘောက်စ်၊ ဖိုင်၊ ဒေတာဘေ့စ်မှတ်တမ်း စသည်ဖြင့် အရာဝတ္ထုများသည်
၎င်းတို့လုပ်ဆောင်နိုင်သော နည်းလမ်းများ ရှိနိုင်ပါသည်။ ဒေတာဘေ့စ်မှတ်တမ်းတွင် "သိမ်းဆည်းရန်" နည်းလမ်းရှိနိုင်သည်၊ ပုံအရာဝတ္တုတွင် "လှည့်ရန်" နည်းလမ်းရှိနိုင်သည်၊ အီးမေးလ်အရာဝတ္တုတွင် "ပို့ရန်" နည်းလမ်းရှိနိုင်သည် စသည်ဖြင့်။
အရာဝတ္တုများသည် ၎င်းတို့၏ ဝိသေသလက္ခဏာများကို ဖော်ပြသည့် ဂုဏ်သတ္တိများလည်း ရှိသည်။ ဒေတာဘေ့စ်မှတ်တမ်းတစ်ခုတွင် FirstName နှင့် LastName ပိုင်ဆိုင်မှုတစ်ခု (အခြားသူများအကြား) ရှိနိုင်သည်။
ASP.NET DateTime အရာဝတ္တုတွင် Now ပိုင်ဆိုင်မှုတစ်ခု (DateTime.Now အဖြစ် ရေးသားထားသည်) ရှိပြီး ယခု ပိုင်ဆိုင်မှုတွင် Day Property ပါရှိသည် (DateTime.Now.Day အဖြစ် ရေးထားသည်)။ အောက်ဖော်ပြပါ ဥပမာသည် DateTime အရာဝတ္တု၏ ဂုဏ်သတ္တိအချို့ကို ဝင်ရောက်ကြည့်ရှုနည်းကို ပြသသည်-
ဥပမာ
<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>
If and Else Conditions
ဒိုင်းနမစ်ဝဘ်စာမျက်နှာများ၏ အရေးကြီးသောအင်္ဂါရပ်မှာ အခြေအနေများအပေါ် အခြေခံ၍ ဘာလုပ်ရမည်ကို သင်ဆုံးဖြတ်နိုင်ခြင်းဖြစ်သည်။
ဒီလိုလုပ်ဖို့ ဘုံနည်းလမ်းကတော့ if ... else statements နဲ့ ဖြစ်ပါတယ် ။
ဥပမာ
@{
var txt = "";
if(DateTime.Now.Hour > 12)
{txt = "Good Evening";}
else
{txt = "Good Morning";}
}
<html>
<body>
<p>The message is @txt</p>
</body>
</html>
အသုံးပြုသူ ထည့်သွင်းမှုကို ဖတ်ခြင်း။
ဒိုင်းနမစ်ဝဘ်စာမျက်နှာများ၏ နောက်ထပ်အရေးကြီးသောအင်္ဂါရပ်မှာ အသုံးပြုသူထည့်သွင်းမှုကို သင်ဖတ်ရှုနိုင်ခြင်းဖြစ်သည်။
ထည့်သွင်းမှုကို တောင်းဆိုချက်[] လုပ်ဆောင်ချက်ဖြင့် ဖတ်ပြီး ပို့စ်တင်ခြင်း (ထည့်သွင်းခြင်း) ကို IsPost အခြေအနေဖြင့် စမ်းသပ်သည်-
ဥပမာ
@{
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>