سبد خرید (0)

آموزش Razor-سینتکس

Razor از هر دو زبان #C و VB پشتیبانی می کند.


قوانین اصلی گرامر Razor برای #C

  • بلوک کد Razor در {....}@ محصور گردیده است.
  • عبارت های Inline (توابع و متغیرها) با @ شروع می شود.
  • هر خط کد با نقطه ویرگول خاتمه می یابد.
  • متغیرها با استفاده از کلمه کلیدی var تعریف می شوند.
  • رشته ها با علامت " محصور می شوند.
  • کدهای #C حساس به حروف بزرگ و کوچک است.
  • فایل های #C دارای پسوند 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>

خروجی کد بالا:

The value of myMessage is: Hello World

The greeting is: Welcome to our site! Here in Huston it is: Friday


قوانین اصلی گرامر Razor برای VB

  • بلوک کد Razor درCode ... [email protected] محصور گردیده است.
  • عبارت های Inline (توابع و متغیرها) با @ شروع می شود.
  • متغیرها با استفاده از کلمه کلیدی Dim تعریف می شوند.
  • رشته ها با علامت " محصور می شوند.
  • کدهای VB حساس به حروف بزرگ و کوچک نیست.
  • فایل های VB دارای پسوند vbhtml. است.

مثال (آموزش Razor-سینتکس)

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

خروجی کد بالا:

The value of myMessage is: Hello World

The greeting is: Welcome to our site! Here in Huston it is: Friday


Razor چگونه کار می کند؟

با استفاده از Razor می توان کدهای سمت سرور را در WebPageها قرار داد.

گرامر Razor بر مبنای چارچوب ASP.NET می باشد.

گرامر Razor به شما تمام ویژگی ها و قدرت ASP.NET را می دهد، اما این گرامر از سینتکس های ساده که یادگیری آن برای تازه کار ها آسان تر است، استفاده می کند. و کاربران کاربلد را نیز کاراتر می نماید. 

 صفحات وب Razor می توانند به عنوان صفحات HTML با دو نوع محتوا در نظر گرفته شوند: محتوای HTML و کدهای Razor.

هنگامی که سرور صفحات را می خواند، کدهای Razor درون آن را ابتدا، قبل از اینکه صفحه HTML را به مرورگر برگرداند، اجرا می نماید. کدی که سمت سرور اجرا می شود، می تواند وظایفی که توسط مرورگر نمی تواند انجام شود، را اجرا نماید، برای مثال می توان به کدهای مربوط به دستیابی داده در پایگاه داده اشاره کرد.

کدهای سمت سرور می توانند محتوای HTML پویا، قبل از ارسال صفحه به مرورگر تولید نمایند. از نظر مرورگر، صفحه HTML تولید شده توسط کدهای سمت سرور، هیچ تفاوتی با محتوای HTML استاتیک ندارد.

صفحات وبASP.NET که از گرام Razor استفاده می کنند دارای پسوند فایل cshtm (برای Razor ی که از #C استفاده می کند) و vbhtml (برای Razo ی که از VB استفاده می کند) می باشند.


 کار با اشیاء

کد نویسی سرور اغلب شامل اشیاء است.
شیء "Date" یک شیء آماده در ASP.NET است، با این وجود می توانیم خودمان اشیاء را تعریف کنیم، یک صفحه وب، یک فیلد متنی، یک رکورد پایگاه داده، و غیره.
هر شیء می تواند حاوی یک سری متد باشد که می تواند این متد ها را فراخوانی کند. یک رکور پایگاه داده ممکن است متد "save" داشته باشد، شیء تصویر ممکن است متد "Rotate" داشته باشد، شیء ایمیل ممکن است یک متد "send" داشته باشد، و غیره.
هر شیء همچنین ممکن است حاوی ویژگی هایی که خصوصیات آن شیء را توصیف می کند، باشد. یک رکورد پایگاه داده ممکن است دارای ویژگی های FirstName و LastName باشد.

شیء Date دارای ویژگی Now است (که به صورت Date.Now)، و ویژگی Now، دارای ویژگی Day است (که به صورت Date.Now.Day نوشته می شود).

مثال زیر نحوه دستیابی به ویژگی های شیء Date را نمایش می دهد:

مثال (آموزش Razor-سینتکس)

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

خروجی کد بالا:

NameValue
Day 17
Hour 23
Minute 43
Second 50

شروط If و Else

یکی از ویژگی های مهم WebPage پویا، این است که شما می توانید بر اساس شرایط متفاوت تصمیم گیری نمایید.

روش رایج برای انجام این تصمیم گیری استفاده از عبارات if......else می باشد:

مثال (آموزش Razor-سینتکس)

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

خروجی کد بالا:

Good Morning

خواندن ورودی کاربر

یکی از ویژگی های مهم WebPageهای پویا، خواندن ورودی هایی است که کاربر وارد می نماید.

ورودی با تابع []Request خوانده می شود، و با شرط IsPost تست می شود:

مثال (آموزش Razor-سینتکس)

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

خروجی کد بالا: