آموزش 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 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1