ASP.NET Razor - سی# و وی.بی کد زبان

راز همزمان از C# (C sharp) و VB (Visual Basic) پشتیبانی می‌کند.

قوانین اصلی زبان نویسی راز برای C#

  • کد راز در @{ ... } محصور می‌شود
  • عبارت‌های درون خطی (متغیرها و توابع) با @ آغاز می‌شوند
  • کلمات دستور با امتناع به پایان می‌رسند
  • رشته‌ها توسط قید‌ها احاطه می‌شوند
  • کد C# نسبت به حروف بزرگ و کوچک حساس است
  • نام‌پایان‌دهی فایل‌های C# .cshtml است

مثال C#

<!-- بلوک کد یک خطی -->
@{ var myMessage =	"Hello World"; }
<!-- عبارت درون خطی یا متغیر -->
<p>مقدار myMessage: @myMessage</p> 
<!-- بلوک کد چند خطی -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
}
<p>پیام سلام: @greetingMessage</p>

مثال چلائیں

قوانین اصلی زبان نویسی راز برای VB

  • بخش‌های کد راز با @Code ... End Code احاطه می‌شوند
  • عبارت‌های درون خطی (متغیرها و توابع) با @ آغاز می‌شوند
  • با استفاده از کلمه کلیدی Dim متغیرها را تعریف می‌کنید
  • رشته‌ها توسط قید‌ها احاطه می‌شوند
  • VB نسبت به حروف بزرگ و کوچک حساس نیست
  • نام‌پایان‌دهی فایل‌های VB .vbhtml است

مثال

<!-- بلوک کد یک خطی -->
@Code dim myMessage = "Hello World" End Code
<!-- عبارت درون خطی یا متغیر -->
<p>مقدار myMessage: @myMessage</p> 
<!-- بلوک کد چند خطی -->
@Code
dim greeting = "Welcome to our site!" 
dim weekDay = DateTime.Now.DayOfWeek 
dim greetingMessage = greeting & " Here in Huston it is: " & weekDay
پایان کد 
<p>پیام سلام: @greetingMessage</p>

مثال چلائیں

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

راز یک زبان نویسی ساده است که برای قرار دادن کد سرور در صفحات وب استفاده می‌شود.

راز زبان نویسی بر اساس فریم‌ورک ASP.NET است، که بخشی از فریم‌ورک .NET شرکت مایکروسافت است که به ویژه برای توسعه برنامه‌های وب طراحی شده است.

راز زبان نویسی شما تمام توانایی‌های ASP.NET را به شما می‌دهد، اما با زبان ساده‌تری استفاده می‌شود، بنابراین برای مبتدیان آسان‌تر است و برای متخصصان بهره‌وری بیشتری دارد.

Razor ویب پیج کو دو طرح کا HTML پیج کے طور پر وصف کیا جاسکتا ہے: HTML مواد اور Razor کد۔

جب سرور اس طرح کا پیج پڑھتا ہے، تو یہ پیج کو براوزر کو ارسال کرنے سے پہلے، پہلے Razor کد کو چلادیتا ہے۔ یہ سرور پر چلنے والے کد براوزر میں کئی کارروائیاں انجام دین سکتے ہیں جو براوزر میں نہیں کئی جاسکتی، مثلاً سرور دیتابیس تک رسائی حاصل کرنا۔ سرور کد پیج کو براوزر کو ارسال کرنے سے پہلے، پینج کی دینامک HTML کا تعمیر کر سکتا ہے۔ براوزر کی جانب سے دیکھتے ہوئے، سرور کد سے بنائی جانے والی HTML براوزر میں موجود استاتک HTML سے کسی بھی فرق نہیں رکھتا۔

Razor زبان کا استعمال کرنے والی ASP.NET ویب پیج خصوصی فائل ایکسٹینشن cshtml (C# کی Razor زبان استعمال کرتا ہے) یا vbhtml (VB کی Razor زبان استعمال کرتا ہے) رکھتا ہے۔

آئیٹموں کا ساتھ کام کرنا

سرور کد چارچا اکثر آئیٹموں سے متعلق ہوتا ہے。

"Date" آئیٹم کا اسٹیٹک ASP.NET داخلی آئیٹم ہے، لیکن آپ خود بھی آئیٹم طے کرسکتے ہیں، ایک ویب پیج، ایک ٹیکسٹ بک، ایک فائل، یا ایک دیتابیس ریکارڈ، وغیرہ۔

آئیٹم کا بھی طے کئے جانے والا طریقہ ہوسکتی ہے۔ دیتابیس ریکارڈ میں 'save' طریقہ، تصویر آئیٹم میں 'روٹن' طریقہ، ای میل آئیٹم میں 'send' طریقہ، وغیرہ کا ذکر کیا جاسکتا ہے。

آئیٹم کا بھی وصف دینے والی خاصیت ہوسکتی ہے۔ دیتابیس ریکارڈ میں FirstName اور LastName خاصیت ہوسکتی ہیں。

ASP.NET تاریخچہ آئیٹم کا Now خاصیت موجود ہے (Date.Now کے طور پر لکھا جاتا ہے)، Now خاصیت میں Day خاصیت موجود ہے (Date.Now.Day کے طور پر لکھا جاتا ہے)۔ درج ذیل مثال تاریخچہ آئیٹم کی کچھ خاصیتوں کو سیکھنے کا ہے:

مثال

<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 شرط

موبایل ویب سائٹ کی اہم خصوصیت یہ ہے کہ کام کئے جانے والی کارروائی کو شرط کی بنیاد پر طے کیا جاتا ہے。

اساتید کا عام طور میں استعمال کئے جانے والا طریقہ اگر ... الا اگر جملات استعمال کرنا ہے:

مثال

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

مثال چلائیں