فهرست سرفصل‌های ASP
خانه (HOME) معرفی (WebPages Intro) ریزر (WebPages Razor) چیدمان (WebPages Layout) پوشه ها (WebPages Folders) گلوبال (WebPages Global) فرم ها (WebPages Forms) اشیا (WebPages Objects) فایل ها (WebPages Files) پایگاه داده ها (WebPages Databases) هلپرها (WebPages Helpers) وب گرید (WebPages WebGrid) نمودارها (WebPages Charts) ایمیل (WebPages Email) امنیت (WebPages Security) انتشار (WebPages Publish) نمونه ها (WebPages Examples) کلاس ها (WebPages Classes) معرفی (Razor Intro) سینتکس (Razor Syntax) متغیرها (Razor C# Variables) حلقه ها (Razor C# Loops) منطق (Razor C# Logic) متغیرها (Razor VB Variables) حلقه ها (Razor VB Loops) منطق (Razor VB Logic) معرفی (ASP Intro) سینتکس (ASP Syntax) متغیرها (ASP Variables) رویه ها (ASP Procedures) شرط ها (ASP Conditionals) حلقه ها (ASP Looping) فرم ها (ASP Forms) کوکی ها (ASP Cookies) نشست (ASP Session) برنامه (ASP Application) اینکلود (#include) (ASP #include) Global.asa (ASP Global.asa) AJAX (ASP AJAX) ایمیل (ASP e-mail) نمونه ها (ASP Examples) گواهینامه (ASP Certificate) توابع VB (ASP VB Functions) کلیدواژه های VB (ASP VB Keywords) Response (ASP Response) Request (ASP Request) Application (ASP Application) Session (ASP Session) Server (ASP Server) Error (ASP Error) FileSystem (ASP FileSystem) TextStream (ASP TextStream) Drive (ASP Drive) File (ASP File) Folder (ASP Folder) Dictionary (ASP Dictionary) AdRotator (ASP AdRotator) BrowserCap (ASP BrowserCap) پیوند محتوا (ASP Content Linking) گرداننده محتوا (ASP Content Rotator) راهنمای سریع (ASP Quick Ref) معرفی (ADO Intro) اتصال (ADO Connect) رکوردست (ADO Recordset) نمایش (ADO Display) کوئری (ADO Query) مرتب سازی (ADO Sort) افزودن (ADO Add) به روزرسانی (ADO Update) حذف (ADO Delete) فرمان (ADO Command) اتصال (ADO Connection) خطا (ADO Error) فیلد (ADO Field) پارامتر (ADO Parameter) ویژگی (ADO Property) رکورد (ADO Record) رکوردست (ADO Recordset) جریان (ADO Stream) انواع داده (ADO DataTypes)
نتیجه‌ای برای جستجو یافت نشد.
ASP

ASP — سینتکس (Razor Syntax)

آخرین بروزرسانی: 1404/08/14

سینتکس (Razor Syntax)

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

قوانین اصلی سینتکس Razor

کدهای 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>

مشاهده در ادیتور

نمونه VB؛ کد بین @Code تا End Code

در VB حساسیت حروف مهم نیست. متغیر با Dim ساخته می شود. ساختار کلی ساده است.

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

مشاهده در ادیتور

کار با شیءها و DateTime

«شیء (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>
</table>

مشاهده در ادیتور

شرط ها با if و else

با شرط تصمیم می گیریم چه چیزی نشان دهیم. مثل اگر ساعت مدرسه گذشته بود، پیام عصر بفرست.

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

وقتی فرم ارسال شود، IsPost درست می شود. سپس با Request مقدارها را می خوانیم و جمع می زنیم.

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

مشاهده در ادیتور

گام های عملی سریع

  1. یک فایل .cshtml بساز و یک بلوک @{ } اضافه کن.
  2. یک متغیر و یک عبارت خطی @ بگذار و خروجی بگیر.
  3. یک فرم ساده بساز و با IsPost جمع را نمایش بده.

نکته: برای مقدمه و مقایسه سینتکس Razor با مفاهیم پایه، صفحه معرفی را ببین.

هشدار: ورودی ها را اعتبارسنجی کن و از HTML خام کاربر دوری کن.

جمع بندی سریع

  • @ برای عبارات خطی است.
  • @{ } برای چند دستور است.
  • فایل های C#، پسوند cshtml دارند.
  • IsPost یعنی فرم ارسال شده است.