ASP.NET Razor - C# at VB 代码语法规

Razor ay sumusuporta sa C# (C sharp) at VB (Visual Basic).

Ang pangunahing mga patakaran ng Razor syntax sa C#

  • Ang Razor code ay nakakapalibot sa @{ ... }
  • Ang inline expression (variable at function) ay nagsisimula sa @
  • Ang mga statement ng code ay nagtatapos sa isang semicolon
  • Ang string ay naka-enclosed sa quotes
  • Ang C# ay nagbabago sa kapwa letrayt at kapwa letris
  • Ang extension ng file na C# ay .cshtml

Halimbawa ng C#

<!-- Single-line code block -->
@{ var myMessage =	"Hello World"; }
<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage</p> 
<!-- Multi-line code 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>

ปฏิบัติตัวอย่าง

Ang pangunahing mga patakaran ng Razor syntax sa VB

  • Ang Razor code block ay nakakapalibot sa @Code ... End Code
  • Ang inline expression (variable at function) ay nagsisimula sa @
  • Ginagamit ang keyword na Dim para sa pagdeklara ng variable
  • Ang string ay naka-enclosed sa quotes
  • Ang VB ay hindi nagbabago sa kapwa letrayt at kapwa letris
  • Ang extension ng file na VB ay .vbhtml

ตัวอย่าง

<!-- Single-line code block -->
@Code dim myMessage = "Hello World" End Code
<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage</p> 
<!-- Multi-line code 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>

ปฏิบัติตัวอย่าง

Paano ito gumagana?

Ang Razor ay isang simpleng programming syntax na ginagamit para ipasok ang server-side code sa web page.

Ang Razor syntax ay nakabase sa ASP.NET framework, ang framework na ito ay isang bahagi ng .NET framework ng Microsoft na espesyal na dinisenyo para sa paggawa ng web application.

Ang Razor syntax ay nagbibigay sa iyo ng lahat ng kakayahan ng ASP.NET, ngunit gamit ang pinasimpleng syntax, kung ikaw ay baguhan, mas madaling matututo, at kung ikaw ay eksperto, mas mabuti para sa pagtaas ng produktibidad.

Ang Razor webpage ay maaaring paglalarawan bilang HTML pahina na may dalawang uri ng content: HTML content at Razor code.

Kapag binabasa ng server ang ganitong pahina, bago ipapadala ang HTML pahina sa browser, unang papatakbo ang Razor code. Ang mga code na nagsasagawa sa server ay maaaring gumawa ng gawain na hindi maaaring isagawa ng browser, tulad ng pag-access sa database ng server. Ang server code ay maaaring gumawa ng dinamikong HTML content bago ipapadala ang pahina sa browser. Mula sa perspektibo ng browser, ang HTML na ginawa ng server code ay walang kaibahan sa statikong HTML content.

Ang ASP.NET webpage na gumagamit ng syntax ng Razor ay may espesyal na extension ng file na cshtml (gumagamit ng syntax ng Razor ng C#) o vbhtml (gumagamit ng syntax ng Razor ng VB).

Pagiging nakikipag-ugnayan sa mga object

Ang server code ay palaging may kaugnayan sa mga object.

"Date" object ay isang tipikal na ASP.NET in-built object, ngunit maaari ring magkaroon ng sariling na inilalagang object, isang pahina ng web, isang text box, isang file, o isang record ng database, at iba pa.

Ang mga object ay maaaring may mga method na maaaring maisagawa. Ang mga record ng database ay maaaring magbigay ng 'save' method, ang object ng image ay maaaring magkaroon ng 'rotate' method, ang object ng email ay maaaring magbigay ng 'send' method, at iba pa.

Ang mga object ay maaaring may mga attribute na naglalarawan ng kanilang katangian. Ang mga record ng database ay maaaring magkaroon ng mga attribute na FirstName at LastName.

Ang ASP.NET Date object ay may attribute na Now (sinulat na Date.Now), ang attribute na Now ay may attribute na Day (sinulat na Date.Now.Day). Ang mga halimbawa sa ibaba ay nagpapakita kung paano mapag-access ang mga attribute ng Date object:

ตัวอย่าง

<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>

ปฏิบัติตัวอย่าง

Kondisyon ng If at Else

Ang mahalagang katangian ng mga napindot na pahina ay ang pagpili ng ginagawang aksyon sa pamamagitan ng kondisyon.

Ang madalas na paraan para sa paggawa nito ay gamit ang if ... else statement:

ตัวอย่าง

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

ปฏิบัติตัวอย่าง

อ่านค่าที่ผู้ใช้ส่งมา

คุณสมบัติสำคัญของเว็บไซต์ที่เคลื่อนไหวอีกอันหนึ่งคือการอ่านค่าที่ผู้ใช้ส่งมา

ด่านเนื้อหาที่เพิ่มขึ้นโดยฟังก์ชัน Request[] และตรวจสอบโดยเงื่อนไข 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>

ปฏิบัติตัวอย่าง