منو

نحوه نوشتار Razor(قسمت سوم)

نحوه نوشتار Razor
لیست جلسات
DatoosTech img Course

قسمت اول

آشنایی با Razor

DatoosTech img Course

قسمت دوم

نشانه گذار Razor

DatoosTech img Course

قسمت سوم

نحوه نوشتار Razor

DatoosTech img Course

قسمت چهارم

متغیر های #C در Razor

مطالب این جلسه

نحوه نوشتن Razor

Razor هم C# و هم VB را پشتیبانی می کند. در اینجا در خصوص کارکرد Razor با C# توضیح می دهیم.

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

Razor یک دستورالعمل ساده برای تعبیه کد سرور در صفحات وب است.
نحوه نوشتار Razor مبتنی بر چارچوب ASP.NET است. (بخشی از چارچوب Microsoft.NET که به طور خاص برای ایجاد برنامه های کاربردی وب طراحی شده است.)
نحوه نوشتار Razor به شما تمام توانایی ASP.NET را می دهد. اگر شما یک تازه کار باشید، یادگیری آن ساده تر خواهد بود و اگر هم متخصص باشید، کارایی بیشتری به شما می دهد. صفحات وب Razor را می توان به عنوان صفحات HTML با دو نوع محتوا توضیح داد: محتوای HTML و کد Razor
هنگامی که سرور صفحه را می خواند، قبل از ارسال صفحه HTML به مرورگر، ابتدا کد Razor را اجرا می کند. کدی که در سرور اجرا می شود، توانایی انجام کارهایی را دارد که در مرورگر امکان پذیر نمی باشد، مانند دسترسی به پایگاه داده سرور. قبل از ارسال به مرورگر، کد سرور می تواند محتوای پویای HTML را در لحظه ایجاد کند. از دید مرورگر،HTML تولید شده توسط کد سرور با محتوای استاتیک HTML تفاوتی ندارد.
صفحات وب ASP.NET شامل Razor، در صورتی که با C# نوشته شوند، فایل هایی با پسوند .cshtml هستند و اگر با استفاده از VB نوشته شوند، پسوند فایل .vbhtml می شود.


کار با اشیاء

برنامه نویسی سرور اغلب شامل اشیاء است.
شئ "Date Time" یک شئ پیش ساخته در ASP.NET است. اشیاء می توانند توسط شما هم تعریف شوند. (self-defined) مانند: یک صفحه وب، یک جعبه متن، یک فایل، یک رکورد پایگاه داده و...
اشیاء ممکن است شامل روش هایی باشند که بتوانند اجرا شوند. یک رکورد پایگاه داده ممکن است یک روش «ذخیره» داشته باشد، یک شی تصویر ممکن است یک روش «چرخش» داشته باشد، یک شیء ایمیل ممکن است یک روش «ارسال» و ... داشته باشد.
اشیاء همچنین خواصی دارند که خصوصیات آنها را توصیف می کند. یک رکورد پایگاه داده ممکن است یک نام و یک نام LastName (و غیره) داشته باشد.
شئ "Date Time" در ASP.NET دارای خاصیت Now می باشد. (به صورت DateTime.Now نوشته می شود.) شئ Now دارای خاصیت Day است. (به صورت DateTime.Now.Day نوشته می شود.)
در زیر مثال هایی از استفاده از خصوصیات DateTime قابل مشاهده است :

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

یکی از ویژگی های مهم صفحات وب پویا این است که می توانید بر اساس شرایط تعیین کنید، چه کاری می بایست انجام دهید. راه معمول برای انجام این کار با دستور 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 تست می شود:

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