ASP.NET - سرور کنٹرول
- آپ پیج صفحات WebForms
- پائین پیج رویدادهای WebForms
سرور کنٹرول سرور کی معنوں میں پونچھا جاتا ہے
Classic ASP کی محدودیت
درج ذیل کد سابق سیکشن سے کپ کیا گیا ہے:
<html> <body style="background-color:#e5eecc; text-align:center;"> <h2>Hello CodeW3C.com!</h2> <p><%Response.Write(now())%></p> </body> </html>
سابق کا کد کسی طرح کی محدودیت کا ظاہر کرسکتا ہے: کد بلاک کو اخراج کئے جانے والے مقام پر رکھا جانا چاہئے
Classic ASP کے ذریعے، ہم نے کدوغری کو خود کا HTML سے الگ نہیں کرسکتے تھے۔ اس کی وجہ سے پینل بندوبست کی طرح پڑتی تھی اور اس کا بندوبست بھی مشکل تھا
ASP.NET - سرور کنٹرول
سرور کنٹرول کے ذریعے، ASP.NET نے اس بات کو حل کیا ہے کہ جو سابق میں بات کی گئی تھی یعنی ‘یتاری کا کوئی کورا’ کا مسئلہ
سرور کنٹرول سرور کی معنوں میں پونچھا جاتا ہے
سرور کنٹرول کے تین طرح ہیں:
- HTML سرور کنٹرول - روایتی HTML تگ
- وеб سرور کنٹرول - نئی ASP.NET تگ
- والیڈیشن سرور کنٹرول - داخل کی جانچ کے لئے استعمال کیا جاتا ہے
ASP.NET - HTML سرور کنٹرول
HTML سرور کنٹرول سرور کے معنوں میں پونچھا جاتا ہے۔
ASP.NET میں HTML عناصر کا بندوبست متن کی شکل میں کیا جاتا ہے۔ ان عناصر کو پروگرامکرنا چاہتے ہوئے، ان HTML عناصر پر runat="server" پرزنتیجیہ کا اشارت دیتا ہے کہ اس عنصر ایک سرور کنٹرول ہے۔ ساتھ ہی id پر کا اضافہ کریں تاکہ اس سرور کنٹرول کو نشان دہ کیا جاسکے۔ اس id کو اس سرور کنٹرول کو بروئے کار لینے کے لئے استعمال کیا جاسکتا ہے。
توضیح:تمام کنٹرول سرور HTML باید در داخل برچسب <form> با ویژگی runat="server" قرار گیرند. ویژگی runat="server" نشان میدهد که فرم باید بر روی سرور پردازش شود. همچنین نشان میدهد که کنٹرولهایی که در آن شامل شدهاند توسط اسکریپت سرور قابل دسترسی هستند.
در مثال زیر، ما در فایل .aspx یک کنٹرول سرور HtmlAnchor تعریف کردیم. سپس ما در یک رویداد فراہم کردیم که برروی ویژگی HRef کنٹرول HtmlAnchor عمل میکند. رویداد Page_Load یکی از انواع متعدد رویدادهایی است که توسط ASP.NET قابل فهم هستند:
توضیح:رویداد فراہمکننده (event handler) یک زیرپروگرام است که برای یک رویداد خاص کد اجرا میکند.
<script runat="server"> Sub Page_Load link1.HRef="http://www.codew3c.com" End Sub </script> <html> <body> <form runat="server"> <a id="link1" runat="server">بازدید کریں CodeW3C.com!</a> </form> </body> </html>
تذکر:کد قابل اجرا خود را از HTML خارج کردهایم.
ASP.NET - کنٹرول سرور وب
کنٹرول سرور وب برچسبهای خاصی از ASP.NET هستند که توسط سرور قابل فهم هستند.
مانند کنٹرول سرور HTML، کنٹرول سرور وب نیز بر روی سرور ایجاد میشود، آنها نیز نیاز به ویژگی runat="server" دارند تا فعال شوند. با این حال، کنٹرول سرور وب نیاز به نقشهبرداری از هیچ عنصر HTML موجود ندارند، آنها عنصر پیچیدهتری را نمایان میکنند.
زبان تشخیص کنٹرول سرور وب را:
<asp:control_name id="some_id" runat="server" />
در مثال زیر، ما در فایل .aspx یک کنٹرول سرور Button تعریف کردیم. سپس ما یک رویداد فراہم کردیم که میتواند متن روی دکمه را تغییر دهد:
<script runat="server"> Sub submit(Source As Object, e As EventArgs) button1.Text="آپ نے میری کلیک کی!" End Sub </script> <html> <body> <form runat="server"> <asp:Button id="button1" Text="کلیک کریں!" runat="server" OnClick="submit"/> </form> </body> </html>
ASP.NET - والیڈیشن سرور کنٹرول
والیڈیشن سرور کنٹرول کارکن است تا ورودی کاربر را تأیید کند. اگر ورودی کاربر تأیید نشود، پیغام خطایی به کاربر نشان داده خواهد شد.
کسی بھی تصدیق کنٹرول کو خاص تصدیق کی نوعیت کا کام کرنا چاہئے (مثلاً کسی خاص کی تصدیق یا کسی دائری کی تصدیق)۔
دفعہ طور پر، جب بٹن، ImageButton یا LinkButton پر کلک کیا جاتا ہے تو پیج تصدیق کو چلایا جاتا ہے۔ آپ کسی بٹن کنٹرول کو کلک کئے جانے پر تصدیق کو روکنا چاہتے ہیں تو CausesValidation اپریشن کو false رکھ سکتے ہیں。
Validation سرور کنٹرول کے تخلیق کی جملہ نویسی یہ ہے:
<asp:control_name id="some_id" runat="server" />
یہ مثال میں، ہم نے .aspx فائل میں ایک TextBox کنٹرول، ایک بٹن کنٹرول اور ایک RangeValidator کنٹرول کا اعلان کیا ہے۔ اگر تصدیق کامیاب نہیں ہوئی تو "The value must be from 1 to 100!" اس RangeValidator کنٹرول میں دکھایا جائے گا:
<html> <body> <form runat="server"> <p>Enter a number from 1 to 100: <asp:TextBox id="tbox1" runat="server" /> <br /><br /> <asp:Button Text="Submit" runat="server" /> </p> <p> <asp:RangeValidator ControlToValidate="tbox1" MinimumValue="1" MaximumValue="100" Type="Integer" Text="The value must be from 1 to 100!" runat="server" /> </p> </form> </body> </html>
- آپ پیج صفحات WebForms
- پائین پیج رویدادهای WebForms