آموزش ASP.Net به زبان ساده > آموزش مدل فرم های وب ASP.Net Web Forms
درس سوم : آموزش کار با کنترل های سرور در ASP.Net
مقدمه :
کنترل های سرور در ASP.Net ، تگ هایی هستند که توسط سرور فهمیده ، پردازش شده بر حسب
آنها کد خروجی HTML
و
جاوا اسکریپت تولید می شود . در ASP.Net قدیمی و کلاسیک که نمونه ای که آن
را در جدول زیر مشاهده می کنید ، محدودیتی برای طراحان و برنامه نویسان وجود داشت .
اینکه شما هر جا که می خواستید خروجی تولید نمایید ، بایستی کد مربوط آن را در همان
نقطه قرار دهید . به عبارت دیگر ، در ASP.Net کلاسیک جدا کردن کدهای برنامه نویسی از
کدهای HTML غیر ممکن بود . این مسئله باعث بهم ریختگی صفحه و مشکل شدن خواندن و درک
آن می شد . همانند قعطه کد زیر که ASP.Net کلاسیک را نشان می دهد :
مثال : در مثال زیر ایتدا یک عبارت ساده متنی در صفحه نمایش داده شده و سپس به وسیله
یک قطعه کد ساده ، زمان جاری سرور نیز در خروجی چاپ شده است :
کد
|
<HTML>
<body bgcolor="yellow">
<center>
<h2>Hello
W3Schools!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</HTML>
|
کنترل های سرور در ASP.Net Web Forms :
کنترل های سرور در ASP.Net ، تگ های HTML ای هستند که توسط سرور خوانده شده و پردازش
می شوند . سپس خروجی آنها بصورت
کدهای HTML یا
جاوا اسکریپت به مرورگر ارسال می شوند .
المنت ها HTML در صفحات ASP.Net بصورت پیش فرض به عنوان متن معمولی در نظر گرفته می
شوند . برای تبدیل آنها به کدهای برنامه نویسی و قابل اجرا شدن بایستی یک خاصیت به
نام " runat = " server را درون تگ ابتدای آنها اضافه نمایید .
این خاصیت تعیین می کند که المنت مذکور بایستی توسط سرور خوانده شده و اجرا گردد .
همچنین برای این تگ ها می توانید یک خاصیت Id یا شناسه با مقدار منحصر به فرد تعیین
کنید . بوسیله این شناسه می توانید قبل یا در هنگام اجرای صفحه ، المنت HTML یا ASP.Net
مورد نظر خود را فراخوانی کرده و تغییر دهید .
نکته : تمامی کنترل های سرور HTML یا ASP.Net بایستی درون تگ باز
و بسته <from> با مقدار خاصیت " runat = " server قرار بگیرند . این بدان
معناست که فرم و کلیه المنت های درون آن بایستی بر روی سرور پردازش و اجرا شده و همچنین
می توانند توسط اسکریپت های سرور مورد دسترسی یا تغییر قرار بگیرند .
در مثال زیر ، ما یک کنترل سرور HTML از نوع HtmlAnchor را تعریف کرده ایم که برای
ایجاد یک لینک بر روی صفحه بکار می رود .
سپس درون یک <script> در بخش <head>> صفحه ( خارج از محدوده تگ های اصلی
صفحه ) ، تابعی را تعریف کرده ایم که مقدار خاصیت Href یا آدرس مقصد آن را تعیین می
کند . این کد درون رویداد Page_Load صفحه که در هنگام اجرای صفحه رخ می دهد ، قرار
داده شده است . بنابراین به محض اجرای صفحه رخ می دهد :
کد
|
<script runat="server">
Sub Page_Load
link1.HRef="http://www.Developer1.ir"
End Sub
</script>
<html>
<body>
<form id="Form1" runat="server">
<a id="link1" runat="server">Visit
Developer1 !</a>
</form>
</body>
</html>
|
خروجی
|
مشاهده خروجی مثال
|
کنترل های سرور وب در ASP.Net :
کنترل های سرور وب ، تگ ها (کنترل های ذاتی ) ASP.Net هستند که فقط توسط سرور فهمیده
شده و پردازش می شوند . همانند کنترل های سرور HTML که در بخش قبل دیدید ، این نوع
کنترل ها نیز بایستی درون یک تگ <from> و با خاصیت با مقدار " runat
= " server تعریف شوند .
در ضمن کنترل های سرور ASP.Net لزوما به هیچ تگ یا المنتی در صفحه HTML وابسته نبوده
و می توانند قابلیت های بیشتری نسبت به کنترل های سرور HTML داشته باشند .
شکل کلی تعریف یک کنترل سرور ASP.Net بصورت زیر است :
Syntax
|
<asp:control_name id="مورد نظر id" runat="server"
/>
|
Control_name نام و نوع کنترل و خاصیت id شناسه انحصاری آن بر روی صفحه را تعیین می
کند .
مثال : در مثال زیر ما یک کنترل سرور ASP.Net از نوع دکمه فرمان یا
Button را تعریف کرده ایم . سپس بوسیله خاصیت Text متنی برای نمایش بر روی دکمه تعریف
کرده ایم . همچنین در رویداد ( )OnClick کنترل که در هنگام کلیک کاربر بر روی
دکمه فرمان رخ می دهد ، تابعی تعریف کرده ایم تا هنگام اجرا ، متن روی دکمه فرمان را
عوض کند . به کد مثال زیر و خروجی آن دقت نمایید :
کد
|
<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="Y! شما بر روی من کلیک کردید"
End Sub
</script>
<html>
<body>
<form id="Form1" runat="server">
<asp:Button
id="button1" Text="! بر روی من کلیک کنید" runat="server" OnClick="submit"/>
</form>
</body>
</html>
|
خروجی
|
مشاهده خروجی مثال
|
کنترل های اعتبار سنج ASP.Net :
کنترل های اعتبارسنج ASP.Net برای اعتبارسنجی مقادیر ورودی کاربر بکار می روند . اگر
مقداری که کاربر وارد نموده با مقدار مورد نظر شما هماهنگی نداشته باشد ، کنترل یک
پیام هشدار برای اصلاح مقدار را به وی اعلام می کند .
هریک از کنترل های اعتبارسنج با نوع خاصی از اعتبارسنجی را انجام می دهند ( برای مثال
اعتبارسنجی برای وارد کردن یک مقدار خاص یا فرمت مورد نظر و ... ) .
بصورت پیش فرض ، عملیات اعتباسنجی در یک صفحه زمانی رخ می دهد که یک کنترل Button ،
Image Button یا LinkButton کلیک شود . شما می توانید با قراردادن مقدار خاصیت CausesValidation
یک کنترل دکمه فرمان بر روی مقدار False ، مانع از فعال شدن اعتبارسنجی در صفحه در
هنگام کلیک بر روی آن شوید .
شکل کلی تعریف یک کنترل اعتبارسنج ASP.Net به شرح زیر است :
Syntax
|
<asp:control_name id="مورد نظر id" runat="server"
/>
|
مثال عملی : در مثال زیر ما یک فرم ساده با یک کنترل کادر متن ( TextBox
) ، دکمه فرمان ( Button ) و یک کنترل اعتبارسنج کنترل کننده با محدوده عددی ( RangeValidator
) طراحی کرده ایم . این نوع کنترل ، برای سنجش محدوده عددی مجاز که کاربر می
تواند در فرم وارد نماید به کار می رود .
کاربر بایستی درون کادر متن عددی بین یک تا 100 را وارد کند ، در غیر اینصورت صفحه
یک پیام خطا نشان می دهد :
کد
|
<html>
<body>
<form id="Form1" runat="server">
<p> عددی بین 1 تا 100 را
وارد نمایید :
<asp:TextBox
id="tbox1" runat="server" />
<asp:Button
ID="Button1" Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ID="RangeValidator1"
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="
مقدار وارد شده باید بین 1 تا 100 باشد "
runat="server"
/>
</p>
</form>
</body>
</html>
|
خروجی
|
مشاهده خروجی مثال
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :