فرم ها و كنترل های سرويس دهنده ( بخش اول )
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

فرم ها و كنترل های سرويس دهنده

فرم ها و كنترل های سرويس دهنده
جمع آوری و ذخيره اطلاعات کاربران ، يکی از متداولترين عملياتی است  که توسط پياده کنندگان نرم افزارانجام می شود . عمليات فوق می تواند صرفا" در حد و اندازه دريافت يک نام و يا آدرس Email باشد و يا اقلام اطلاعاتی متعددی نظير اطلاعات مورد نياز برای ريجستر نمودن کاربران را شامل شود  (نام و نام خانوادگی ،  آدرس Email ، شماره تلفن ، آدرس و ... ). پس از دريافت اطلاعات از کاربران و به منظور پردازش آنان نمی توان صرفا" به امکانات و پتانسيل های ارائه شده در html ، اکتفاء نمود . در چنين مواردی می بايست اطلاعات اخذ شده به منظور انجام پردازش های ضروری برای سرويس دهنده وب ، ارسال گردند . سرويس دهنده وب ، پس از انجام پردازش های مورد نياز و استخراج نتايج ، ماحصل عمليات را که می تواند يک نسخه بهنگام شده از صفحه و يا در برخی موارد يک صفحه ديگر را برای کاربر ارسال نمايد .
به منظور دريافت و ارسال اطلاعات کاربران در صفحات وب ، عموما" از يک "فرم " ، استفاده می شود . بدين منظور تگ های خاصی در html پيش بينی شده است . فرم هائی که با استفاده از پتانسيل های html ايجاد می گردند ، فرم های html ناميده شده و می توان از کنترل های html متعددی نظير Textbox , Checkbox و Dropdown list همراه  آنان استفاده نمود . تمامی کنترل های فوق ، تسهيلات لازم در خصوص دريافت و ارسال اطلاعات کاربران را ارائه می نمايند.
ASP.NET علاوه بر کنترل های html ، دارای کنترل های اختصاصی خود بوده که در اين رابطه برخی مفاهيم جديد در خصوص آنان نيز ارائه شده است . در گذشته و در مواردی که فرم ها با استفاده از فرم های html ايجاد می گرديدند ، زمانی که يک کنترل خاص بر روی يک فرم توسط کاربر انتخاب می گرديد ، مسئوليت برخورد با داده و يا اطلاعات درج شده در کنترل مورد نظر بر عهده مرورگر بود و صرفا" زمانی که فرم بهمراه اطلاعات موجود برای سرويس دهنده وب ، ارسال می گرديد ، مسئوليت سرويس دهنده در خصوص برخورد مناسب و تعريف شده با داده های موجود در فرم ، آغاز می گرديد . در فريمورک دات نت ، ويژگی های جديدی نظير بخاطر سپردن داده درج شده توسط کاربر در يک Textbox ، فراهم شده است .
در مجموعه مقالاتی که ارائه خواهد شد به بررسی موارد زير پرداخته و از اين رهگذر توانمندی خود را در بکارگيری فرم ها ، استفاده از کنترل های  HTML و کنترل های سرويس دهنده ASP.NET ، افزايش خواهيم داد .

فرم ها در دنيای واقعی
شايد اين سوال برای شما مطرح شده باشد که چرا در برنامه های وب به فرم ها ، نياز داريم ؟ در پاسخ می توان به موارد زير اشاره نمود :

فرم ها ، يکی از متداولترين روش های دريافت اطلاعات از کاربران و ارسال آنان برای سرويس دهنده ، محسوب می گردند.

صفحات وب ، فرم های HTML ، فرم های وب 
همزمان با عرضه يک فن آوری جديد، مجموعه ای از واژه ها و اصطلاحات جديد نيز مطرح می گردد.  ASP.NET نيز از اين قاعده مستثنی نبوده و تمامی واژه هائی که از آنان به منظور تشريح عمليات يک صفحه وب ساده استفاده می گردد ، بهنگام شده تا نشاندهنده عمليات واقعی و پردازش های مرتبط با فرم ها باشند . در ابتدا لازم است که با برخی از اين واژه ها بيشتر آشنا شويم :

اجازه دهيد با چهار اصطلاح جديدی که به آنان اشاره گرديد ،  بطور خلاصه آشنا شويم :

مدل سرويس گيرنده - سرويس دهنده

پروتکل HTTP

نحوه ارائه يک صفحه وب در ASP.NET

پس از آشنائی با مدل سرويس گيرنده - سرويس دهنده ، پروتکل HTTP و نحوه ارائه يک صفحه وب در ASP.NET به بررسی فرم های HTML خواهيم پرداخت . پس از آشنائی با فرم های HTML ، امکان معرفی و استفاده سريعتر از کنترل های سرويس دهنده ASP.NET ، فراهم می گردد .

تگ <form>
تگ <form> يک تگ container است که از آن به منظور نمايش مجموعه ای از کنترل های فرم که پياده کنندگان تمايل به استفاده از آنان به منظور ارسال اطلاعات برای سرويس دهنده را دارند ، استفاده می گردد . ما همچنان نيازمند استفاده از ساير تکنولوژی ها بر روی سرويس دهنده به منظور پشتيبانی و انجام پردازش های لازم در ارتباط با داده های ارسالی از سرويس گيرنده می باشيم .
در مرورگر نت اسکيپ قبل ازنسخه شماره شش ، کنترل های فرم نمی توانند بدون استفاده از تگ <form> نمايش داده شوند . به عبارت ديگر تمامی کنترل های فرم نظير textbox و radio button می بايست درون تگ <form> ، قرار داده شوند ، در غير اينصورت مرورگر نت اسکيپ قادر به نمايش آنان نخواهد بود . در IE و Opera همچنان می توان کنترل های فرم را بدون استفاده از تگ <form> ، نمايش داد ، ولی در صورتی که قصد ارسال داده برای سرويس دهنده وجود داشته باشد ، می بايست کنترل ها درون يک تگ <form> ، قرار گيرند . بهمراه تگ فوق از خصلت های متعددی ( يازده مورد )  استفاده می گردد . در ادامه به بررسی  صرفا" دو نمونه ضروری آنان خواهيم پرداخت ( action ، method ) .

خصلت  action ، صفحه وب مورد نظر به منظور دريافت داده های درج شده بر روی يک فرم را مشخص می نمايد . نحوه استفاده از خصلت action به صورت زير است :

<form action="testpage.aspx" ... >

زمانی که يک فرم برای سرويس دهنده ارسال می گردد ، می بايست صفحه وبی که قرار است اطلاعات به آن تحويل داده شوند ، مشخص گردد . دربرخی موارد ممکن است پاسخ يک صفحه برای خود آن صفحه ارسال گردد .

خصلت method : خصلت فوق ، روش استفاده شده به منظور ارسال داده در پروتکل HTTP را مشخص می نمايد . به منظور ارسال داده از روش های متفاوتی استفاده می گردد . روش های  GET و POST  دو نمونه متدوال در اين زمينه می باشند .
متد GET : در اين روش داده موجود بر روی يک  فرم که قرار است برای سرويس دهنده ارسال شود ، به انتهای URL و به شکل  " نام / مقدار"  ، اضافه می گردد. متد GET، گزينه پيش فرض در خصوص نحوه ارسال اطلاعات يک فرم می باشد .

?sitename =Srco

اولين بخش از زوج  "نام / مقدار" ،  نشاندهنده  "نام" و دومين بخش مقدار مورد نظر به منظور ذخيره سازی را نشان می دهد. نام و مقدار متناظر با آن به صورت اتوماتيک از يک عنصر موجود بر روی فرم نظير يک textbox ويا checkbox ، اخذ می گردند. نام کنترل استفاده شده بر روی فرم ، نام استفاده شده در متد GET بوده و محتوياتی را که کاربر در کنترل مورد نظر درج و يا انتخاب می نمايد، مقدار موردنظر  را مشخص می نمايد . در مثال فوق ، 'sitename' ، نام مورد نظر بوده و 'Srco' ، مقدار مرتبط با آن است . مرورگر در زمان ارسال صفحه برای سرويس دهنده ، اطلاعات فوق را به صورت اتوماتيک به URL  اضافه می نمايد:

http://www.srco.ir/testpage.aspx?sitename =Srco

امکان استفاده بيش از يک زوج نام /مقدار بهمراه يک  URL وجود خواهد داشت . در چنين مواردی هر زوج توسط علامت "&"  ( ampersand  ) ، از يکديگر جدا می گردند . 

http://www.srco.ir/testpage.aspx?sitename =Srco&webmaster=TEST

بخش اضافه شده به URL را query string می گويند . GET تنها روش موجود به منظور ارسال داده بين سرويس گيرنده و سرويس دهنده نمی باشد و در اين رابطه از متد POST نيز استفاده می گردد .
متد POST : يکی از معايب ارسال داده با استفاده از query string ، به ماهيت ارسال اطلاعات برمی گردد . درصورتی که ضرورتی و يا علاقه ای  به نمايش داده ارسالی در آدرس URL را نداشته باشيم،  می توان از متد POST استفاده نمود . عملکرد روش فوق تا اندازه ای شبيه متد GET بوده و تنها تفاوت اساسی بين آنان به ارسال داده در بدنه HTTP Requets برمی گردد ( نه به عنوان بخشی همراه URL ) . سياست فوق ، ايمنی بسيار بالائی را نسبت به متد GET ارائه نمی نمايد و ما صرفا" داده ارسالی را در URL مشاهده نمی نمائيم . متد  POST ، همچنين امکان ارسال حجم بيشتری از اطلاعات را فراهم می نمايد. برخی از سرويس دهندگان وب دارای محدوديت حجم متن ارسالی همراه يک URL می باشند. متد POST ، دارای چنين محدوديتی نمی باشد.
درASP.NET به منظور انتخاب روش ارسال اطلاعات در يک فرم ، گزينه ای وجود نداشته و تمامی فرم ها با استفاده از متد POST برای سرويس دهنده ارسال می گردند .

در بخش دوم اين مقاله با کنترل های فرم HTML و نحوه استفاده از تگ <form> در ASP.NET ، آشنا خواهيم شد .


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir