ASP.NET Razor - C# och VB-kodssyntax
- 上一页 Razor introduktion
- 下一页 Razor C# variabel
Razor stöder både C# (C sharp) och VB (Visual Basic)
Huvudreglerna för Razor-grammatik i C#
- Razor-kod är innesluten i @{ ... }
- Inlin uttryck (variabler och funktioner) börjar med @
- Kodmeningar slutar med semikolon
- Strängar omges av citattecken
- C#-kod är känslig för storleksbokstäver
- C#-filens utökning är .cshtml
C#-exempel
<!-- Enradig kodblock --> @{ var myMessage = "Hello World"; } <!-- Inlin uttryck eller variabler --> <p>Värdet av minMessage är: @myMessage</p> <!-- Multiradig kodblock --> @{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Här i Huston är det: " + weekDay; } <p>Förmågan att hälsa är: @greetingMessage</p>
运行实例
Huvudreglerna för Razor-grammatik i VB
- Razor-kodblock omges av @Code ... End Code
- Inlin uttryck (variabler och funktioner) börjar med @
- Använd Dim-nyckelord för att deklarera variabler
- Strängar omges av citattecken
- VB är inte känsligt för storleksbokstäver
- VB-filens utökning är .vbhtml
实例
<!-- Enradig kodblock --> @Code dim myMessage = "Hello World" End Code <!-- Inlin uttryck eller variabler --> <p>Värdet av minMessage är: @myMessage</p> <!-- Multiradig kodblock --> @Code dim greeting = "Välkommen till vår sida!" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Här i Huston är det: " & weekDay Slut på kod <p>Förmågan att hälsa är: @greetingMessage</p>
运行实例
如何工作?
Razor是一种简单的编程语法,用于在网页中嵌入服务器端代码。
Razor语法基于ASP.NET框架,该框架是微软的.NET框架特别为web应用程序开发而设计的组成部分。
Razor语法赋予您所有ASP.NET的能力,但是使用了简化过的语法,如果您是初学者,则更容易学习,如果您是专家,则更有利于提高生产力。
Razor-sidor kan beskrivas som HTML-sidor med två typer av innehåll: HTML-innehåll och Razor-kod.
När servern läser denna typ av sida, innan den skickar HTML-sidan till webbläsaren, körs Razor-koden först. Denna kod som körs på servern kan utföra uppgifter som inte kan utföras i webbläsaren, till exempel åtkomst till serverdatabasen. Serverkoden kan skapa dynamisk HTML-innehåll innan sidan skickas till webbläsaren. Från webbläsarens perspektiv är HTML som genereras av serverkoden inte skilt från statiskt HTML-innehåll.
ASP.NET-sidor med Razor-syntax har specialfiländelsen cshtml (med C#-Razor-syntax) eller vbhtml (med VB-syntax).
Arbeta med objekt
Serverkod involverar ofta objekt.
"Date"-objektet är ett typiskt ASP.NET-inbyggt objekt, men man kan också definiera egna objekt, en webbsida, en textruta, en fil, eller ett databaspost, och så vidare.
Objekt kan ha metoder som kan utföras. Databasposter kan erbjuda en "spara"-metod, en bildobjekt kan ha en "rotera"-metod, ett e-postobjekt kan erbjuda en "skicka"-metod, och så vidare.
Objekt kan också ha egenskaper som beskriver deras egenskaper. Databasposter kan ha FirstName- och LastName-egenskaper.
ASP.NET Date-objektet har en Now-attribut (skriven som Date.Now), Now-attributet har en Day-attribut (skriven som Date.Now.Day). Följande exempel visar hur man kan komma åt vissa egenskaper hos Date-objektet:
实例
<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 och Else-villkor
En viktig egenskap hos dynamiska webbsidor är att de utför åtgärder baserat på villkor.
För att uppnå detta används ofta if ... else-satsen:
实例
@{ var txt = ""; if(DateTime.Now.Hour > 12) {txt = "God eftermiddag";} else {txt = "God morgon";} } <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">Första talet:</label><br> <input type="text" name="text1" /></p> <p><label for="text2">Andra tal:</label><br> <input type="text" name="text2" /></p> <p><input type="submit" value="Lägg till" /></p> </form> <p>@totalMessage</p> </body> </html>
运行实例
- 上一页 Razor introduktion
- 下一页 Razor C# variabel