آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 دوشنبه  4  ارديبهشت  1396  2017  Apr.  24   Monday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 فرم ها و كنترل های سرويس دهنده ( بخش اول )

 مديريت وب

14106

24

3.7

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

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

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

  • مدل سرويس گيرنده - سرويس دهنده وب
  • فرم های وب و فرم های HTML
  • کنترل های فرم HTML
  • کنترل های سرويس دهنده

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

  • دريافت اطلاعات از کاربران  به منظورريجستر نمودن آنان ، خريد يک محصول ، پيوستن به ليست های Email و يا Newsgroup

  • دريافت نقظه نظرات کاربران. بدين ترتيب می توان ساير صفحات را با توجه به اطلاعات دريافتی سفارشی نموده و چيزی را نمايش دهيم که مورد علاقه کاربران است .

  • آگاهی از وضعيت ارائه يک سرويس و نحوه بهبود آن  ( رای گيری )
  • درج و ويرايش متن به صورت online در يک Forum و يا newsgroup

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

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

  • صفحات وب: يک صفحه وب،نظير يک بسته حاوی کد Html است که در آن از تگ های HTML که ابتدای آن با <html> و انتهای آن با < html /> مشخص می گردد ، استفاده می شود . صفحات وب بر روی يک ماشين خاص مستقر شده و سرويس دهنده وب مسئوليت پاسخگوئی به درخواست ها را برعهده خواهد داشت . محتويات يک صفحه وب می تواند شامل متن ، گرافيک ، صوت ، فيلم و يا کد های نوشته شده با استفاده از تکنولوژی هائی نظير جاوا اسکريپت باشد .

  • فرم HTML : يک فرم Html ، صفحه وبی است که در آن از يک و يا چندين کنترل فرم به منظور دريافت اطلاعات کاربران و ارسال آنان برای سرويس دهنده استفاده می گردد . button ,textbox , checkbox و dropdown lists ، متداولترين کنترل های استفاده شده در فرم ها محسوب می گردند. کاربران ، اطلاعاتی را از طريق فرم و با توجه به کنترل های موجود بر روی آن وارد نموده و در ادامه با فشردن دکمه Submit آنان را برای سرويس دهنده وب ، ارسال می نمايد . با اين که به منظور ارسال اطلاعات بر روی سرويس دهنده به چيزی بيش از HTML ، نياز نخواهد بود ، سرويس دهنده نيازمند بکارگيری تکنولوژی های اضافه ای ( مثلا" ASP.NET ) به منظور انجام عمليات و پردازش های لازم در ارتباط با  اطلاعات دريافتی است . صفحات HTML شامل فرم هائی می باشند که عموما" با انشعاب html ( و يا در برخی موارد htm )، ذخيره می گردند.

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

  • فرم های ASP.NET : با اين که ممکن است يک فرم وب به شکل يک فرم Html نيز ارائه گردد ، بخاطر داشته باشيد که آنان دارای ماهيتی کاملا" متفاوت می باشند. زمانی که از ASP.NET بهمراه فرم ها استفاده نموده و يک فرم وب را ايجاد می نمائيم ، می توان از کنترل های سرويس دهنده ASP.NET همراه تگ های HTML استفاده بعمل آورد . کنترل های سرويس دهنده ، علاوه بر افزايش توان عملياتی برخی از عناصر HTML ( نظير کنترل های فرم ) ، پتانسيل های جانبی ديگری را نيز ارائه می نمايند . يک کنترل سرويس دهنده دارای شکل ظاهری مشابه عناصر HTML می باشد . ولی عملا" نقطه ای در صفحه را مشخص می نمايد که سرويس دهنده نيازمند توليد يک عنصر شبه HTML مرتبط با آن است . مزيت روش فوق در مقابل استفاده از کنترل های فرم ، ايجاد محتويات پويا برای فرم قبل از ارسال آن برای مرورگر است . برای ايجاد محتويات پويا بر روی يک فرم،  می توان کد مورد نظر را در هر محلی از صفحه مستقر نمود. بدين منظور از تگ <script>، استفاده می گردد. از تگ فوق می توان در هرمحلی از فايل  aspx . ، استفاده بعمل آورد .( معمولا" به منظور افزايش خوانائی برنامه آن را در ابتدای صفحه قرار داده و در موارد ديگر می توان تمامی کدهای نوشته شده را در يک فايل جداگانه ، قرار داد ) .
    امکان استفاده از کنترل های فرم های Html برای فرم های وب نيز وجود دارد . ASP.NET بهمراه مجموعه ای از کنترل های فرم اختصاصی که بر روی سرويس دهنده اجراء می گردند ، ارائه شده است . معمولا" سعی می گردد در فرم های وب از کنترل های سرويس دهنده استفاده شود ، چراکه کنترل های فوق قادربه بخاطر سپردن وضعيت کنترل های متفاوت ( نظير درج متن در يک textbox ) نيز می باشند .

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

  • يک صفحه وب ، صرفا" شامل تگ های HTML می باشد ( اين نوع صفحات می توانند شامل اسکريپت های نوشته شده با يک زبان اسکريپت نويسی  نظير جاوااسکريپت نيز باشند ) .

  • يک فرم HTML ، صفحه وبی است که در آن از کنترل های فرم HTML استفاده شده است .
  • يک فرم وب ، صفحه ای است که در آن کد  ASP.NET بهمراه يک تمپليت HTML ، استفاده شده است .
  • يک فرم ASP.NET ، فرم وبی است که در آن از کنترل های سرويس دهنده ASP.NET استفاده شده است .

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

  • سرويس دهنده وب ،  امکان دسترسی به صفحات وب شما رادر تمام مدت روز و برای هر متقاصی فراهم می نمايد. ارائه فضای لازم به منظور سازماندهی و ذخيره سازی صفحات وب نيز از جمله وظايف سرويس دهنده وب است .

  • زمانی که شما درخواست يک صفحه وب را از يک سايت می نمائيد ، بطور اتوماتيک با سرويس دهنده وب آن ارتباط برقرار می نمائيد . فرآيند ارسال آدرس درخواستی شما ( URL )  ، "ايجاد يک درخواست برای سرويس دهنده" ، ناميده می شود . سرويس دهنده وب ،درخواست ارسالی شما را بررسی نموده و پس از يافتن صفحه درخواستی و اجرای کد مندرج در آن ، پاسخ لازم به درخواست شما را خواهد داد . فرآيند فوق ، "پاسخ به مرورگر" ناميده می شود . در تمامی فرآيند فوق ، مرورگر وظيفه و يا نقش سرويس گيرنده را برعهده داشته و سرويس دهنده وب ، نقش سرويس دهنده را برعهده دارد . در سناريوی فوق که به "ارتباط سرويس گيرنده و سرويس دهنده " ، مشهور است ، سرويس دهنده مسئوليت ذخيره سازی ، تفسير و توزيع داده را برعهده داشته و سرويس گيرنده با دستيابی به سرويس دهنده امکان دريافت داده را پيدا می نمايد .

پروتکل HTTP

  • به منظور مبادله اطلاعات بين سرويس گيرنده و سرويس دهنده از پروتکل HTTP استفاده می گردد . از پروتکل فوق ، به منظور انتقال اطلاعات از يک ماشين به ماشين ديگر در وب استفاده می گردد .زمانی که شما يک پيشوند // :http  را  مشاهده می نمائيد ، نشاندهنده اين موضوع است که از پروتکل HTTP استفاده خواهد شد . HTTP ، پروتکل پيش فرض استفاده شده توسط مرورگرهای وب می باشد . مثلا" در صورتی که شما آدرس www.srco.ir  را در بخش آدرس مرورگر خود تايپ نمائيد ، مرورگر بطور اتوماتيک آن را به http://www.srco.ir تبديل می نمايد .

  • پيام ارسالی توسط مرورگر به سرويس دهنده وب که در آن درخواست يک صفحه خاص شده است را HTTP Request می نامند . زمانی که سرويس دهنده وب درخواست فوق را دريافت می نمايد ، پس از بررسی آن و در صورت يافتن فايل درخواستی آن را با فرمت Html برای مرورگر ارسال می نمايد( HTTP Response ) . در صورتی که سرويس دهنده وب ، فايل درخواستی را پيدا ننمايد با ارسال يک پيام خطاء سرويس گيرنده را از اين موضوع آگاه می نمايد .

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

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

  • مرحله اول : سرويس گيرنده درخواست يک صفحه وب را می نمايد .

  • مرحله دوم : سرويس دهنده بررسی لازم در خصوص يافتن فايل درخواستی را آغاز می نمايد . در صورتی که فايل فوق از نوع صفحات ASP.NET باشد ، می بايست کد موجود در آن به منظور توليد Html مورد نياز اجراء شده و ماحصل عمليات برای مرورگر ، ارسال گردد .

  • مرحله سوم : در صورتی که فايل درخواستی دارای پسوند aspx. باشد ، سرويس دهنده آن را به منظور پردازش در اختيار aspnet_isapi.dll ( مرتبط با سرويس دهنده وب ) ، قرار خواهد داد . aspnet_isapi.dll چيز زيادی را خود انجام نداده و صرفا" کد ASP.NET را به مقصد CLR) Common Language Runtime) ، هدايت می نمايد. در صورتی که کد ASP.NET قبلا" کمپايل نشده باشد، در ادامه ترجمه شده و در نهايت اجراء و خروجی آن به صورت Html ايجاد می گردد . ( توليد پويای HTML ) .

  • مرحله چهارم : HTML توليد شده در مرحله قبل برای مرورگر ، ارسال می گردد .

  • مرحله پنجم : مرورگر صفحه وب را نمايش خواهد داد .

پس از آشنائی با مدل سرويس گيرنده - سرويس دهنده ، پروتکل 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 ، آشنا خواهيم شد .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382