ASP.NET Razor – syntaxe kódu C# a VB


Razor podporuje C# (C sharp) i VB (Visual Basic).


Hlavní pravidla syntaxe Razor pro C#

  • Bloky kódu Razor jsou uzavřeny v @{ ... }
  • Vložené výrazy (proměnné a funkce) začínají znakem @
  • Příkazy kódu končí středníkem
  • Proměnné jsou deklarovány pomocí klíčového slova var
  • Řetězce jsou uzavřeny v uvozovkách
  • Kód C# rozlišuje velká a malá písmena
  • Soubory C# mají příponu .cshtml

Příklad 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>

Hlavní pravidla syntaxe Razor pro VB

  • Bloky kódu Razor jsou uzavřeny v @Code ... Koncový kód
  • Vložené výrazy (proměnné a funkce) začínají znakem @
  • Proměnné jsou deklarovány pomocí klíčového slova Dim
  • Řetězce jsou uzavřeny v uvozovkách
  • VB kód nerozlišuje malá a velká písmena
  • Soubory VB mají příponu .vbhtml

Příklad

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


Jak to funguje?

Razor je jednoduchá programovací syntaxe pro vkládání kódu serveru do webových stránek.

Syntaxe Razor je založena na ASP.NET framework, části Microsoft.NET Framework, která je speciálně navržena pro vytváření webových aplikací.  

Syntaxe Razor vám poskytuje veškerou sílu ASP.NET, ale používá zjednodušenou syntaxi, kterou se snáze naučíte, pokud jste začátečník, a zvýší vaši produktivitu, pokud jste expert.

Webové stránky Razor lze popsat jako HTML stránky se dvěma druhy obsahu: HTML obsahem a Razor kódem.

Když server čte stránku, nejprve spustí kód Razor a poté odešle stránku HTML do prohlížeče. Kód, který je spuštěn na serveru, může provádět úkoly, které nelze provést v prohlížeči, například přístup k databázi serveru. Serverový kód může vytvářet dynamický obsah HTML za běhu, než je odeslán do prohlížeče. Při pohledu z prohlížeče se HTML generovaný kódem serveru neliší od statického obsahu HTML.

Webové stránky ASP.NET se syntaxí Razor mají speciální příponu souboru cshtml (Razor pomocí C#) nebo vbhtml (Razor pomocí VB).


Práce s předměty

Kódování serveru často zahrnuje objekty.

Objekt "DateTime" je typický vestavěný objekt ASP.NET, ale objekty mohou být také samostatně definované, webová stránka, textové pole, soubor, záznam databáze atd.

Objekty mohou mít metody, které mohou provádět. Databázový záznam může mít metodu „Uložit“, objekt obrázku může mít metodu „Otočit“, e-mailový objekt může mít metodu „Odeslat“ a tak dále.

Objekty mají také vlastnosti, které popisují jejich vlastnosti. Databázový záznam může mít vlastnosti Jméno a Příjmení (mimo jiné).

Objekt ASP.NET DateTime má vlastnost Now (zapsanou jako DateTime.Now) a vlastnost Now má vlastnost Day (zapsanou jako DateTime.Now.Day). Níže uvedený příklad ukazuje, jak získat přístup k některým vlastnostem objektu DateTime:

Příklad

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

Podmínky If and Else

Důležitou vlastností dynamických webových stránek je, že můžete určit, co dělat na základě podmínek.

Běžným způsobem, jak toho dosáhnout, jsou příkazy if ... else:

Příklad

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

Čtení uživatelského vstupu

Další důležitou vlastností dynamických webových stránek je, že můžete číst vstupy uživatelů.

Vstup je čten funkcí Request[] a odeslání (vstup) je testováno podmínkou IsPost:

Příklad

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