آشنایی با وب فرم ها در ASP.NET

ASP.NET فریم ورک قدرتمند مایکروسافت برای ایجاد وب اپلیکیشن های تجاری و بزرگ است. این فریم ورک با پشتیبانی مایکروسافت و داشتن یک محیط قدرتمند و سریع توسعه به نام Visual Studio به یکی از محبوب ترین و قدرتمند ترین ابزارهای توسعه وب تبدیل شده است. در این نوشته قصد داریم مروری بر یکی از ویژگی های اساسی ASP.NET به نام Web Forms بپردازیم.

Web Forms پایه و اساس ASP.NET است. وب فرم ها قلب و روح ASP.NET هستند. وب فرم ها رابط کاربری وب اپلیکیشن شما را شکل می دهند و راه حلی مناسب برای توسعه ی آن به شما ارائه می کنند. وب فرم ها شبیه به ویندوز فرم ها دارای مشخصات، متدها و رویدادهای کنترل های داخلشان هستند. اجزای رابط کاربری داخل وب فرم ها بر اساس درخواستی که به آن ها فرستاده می شود، به زبان نشانه گذاری مناسب (مثل HTML) رندر می شوند.

وب فرم ها شامل دو قسمت هستند : قسمت بصری (فایل aspx)، و Code Behind که هر کدام در کلاس های جداگانه ای قرار می گیرند. فایل aspx کدهای مربوط به طراحی وب فرم ها را شامل می شود و Code Behind شامل کدهای منطق برنامه و رویدادهای مروبط به کنترل های سمت سرور است. Code Behind می تواند به زبان ویژوال بیسیک یا سی شارپ نوشته شود.

asp-dot-net-web-forms

از مزایای استفاده از وب فرم ها می توان به نکات زیر اشاره نمود :

  • جداسازی منطق برنامه از کدهای HTML
  • استفاده از مدل برنامه نویسی مبتنی بر رویدادها
  • کد کامپایل شده و پشتیبانی از چند زبان برنامه نویسی
  • مجموعه ای از کنترل های سمت سرور که قادر به شناسایی مرورگر کاربر هستند و بر اساس آن کد زبان نشانه گذاری (مثل HTML یا WML) را تولید می کنند
  • به شما اجازه می دهند تا کنترل های جدید با قابلیت های جدید به آن اضافه کنید
  • کد کمتری برای کارهای مختلف همچون بایند کردن داده های بانک اطلاعاتی به کنترل ها خواهید نوشت
  • زمان توسعه را به حداقل می رساند و بهره وری را افزایش می دهد

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

کنترل های HTML همانطور که از نامشان پیداست شامل همین کنترل های معمول HTML مانند Button, Text Field, Text Area, Dropdown هستند. اگر تا به حال از نرم افزارهای ویرایشگر HTML برای طراحی رابط کاربری وب استفاده کرده باشید، کاملاً با این کنترل ها آشنایی دارید. شما می توانید از کنترل های استاندارد HTML در وب فرم ها استفاده کنید. کنترل های HTML که در ویژوال استادیو یافت می شوند همان هایی هستند که در Front Page هم پیدا می شدند. این کنترل ها نیازی به پردازش تحت سرور ندارند و به سادگی توسط مرورگر رندر می شوند. هر چند شما می توانید با اضافه کردن runat=»server» به مشخصات هر یک از کنترل های HTML کاری کنید تا به رویدادهای تحت سرور هم پاسخ گوید.
کنترل های وب فرم روی سرور ساخته می شوند و پس از اینکه وظیفه ای که برایشان مشخص شده را به انجام رساندند، کد HTML متناظر را تولید کرده و به خروجی می فرستند. این کنترل ها برخلاف کنترل های استاندارد HTML، هوشمند هستند؛ یعنی قادر به تشخیص مرورگر کاربر و فرستادن کد زبان نشانه گذاری مناسب هستند. به طور مثال اگر مروگر کاربر فایرفاکس باشد، کد HTML مناسب با آن را تولید می کنند و اگر کاربر بوسیله یک گوشی هوشمند درخواستی فرستاده باشد، کد WML را به خروجی می فرستند. تمام کنترل های وب فرم از یک کلاس عمومی با نام System.Web.UI.WebControls مشتق می شوند. این کلاس پایه مجموعه ای از مشخصات عمومی را برای کنترل های وب فرم پیاده سازی می کند.

وب فرم ها چگونه کار می کنند؟

مانند ویندوز فرم ها، رویدادهایی به صورت پشت سر هم و یا بر اساس درخواست کاربر در وب فرم ها اتفاق می افتند. رویدادهایی مانند Load, Draw (Render) و Unload برای وب فرم ها اتفاق می افتد. در زمان این اتفاقات ممکن است روال های مختلفی صدا زده شوند یا اشیای مختلفی ایجاد شوند. در ابتدا رویداد Init مقداردهی های اولیه صفحه وب را بر اساس تگ های به کار رفته در فایل aspx انجام می دهد. بعد از این، رویداد Load برای صفحه اتفاق می افتد. رویداد Load جایی است که شما می توانید چک کنید که آیا صفحه برای اولین بار توسط کاربر بارگذاری شده یا توسط کلیک روی یک دکمه، صفحه وب به سرور وصل شده و به اصطلاح به خودش Post Back کرده است. در رویداد Load می توانید کاری کنید که برخی اعمال فقط برای اولین بارگزاری صفحه وب انجام شوند؛ مثل بایند کردن داده های دیتابیس به کنترل ها. سپس اگر صفحه Post Back شود، رویدادهای کنترل های روی وب فرم ها اتفاق می افتند. مثلاً هنگامی که روی یک دکمه کلیک می شود، صفحه وب اطلاعاتی را به سرور می فرستد و دوباره به صفحه بر می گردد. در این صورت رویداد کلیک برای دکمه فوق اتفاق افتاده و کدی که شما برای آن نوشته اید اجرا شده است.

االبته قبل از Dispose شدن صفحه وب، رویداد Page_Unload هم اتفاق می افتد. به این علت که صفحه از قبل رندر شده و رویدادهای مورد نیاز کاربر اتفاق افتاده اند، این رویداد بیشتر به منظور عملیات لاگینگ استفاده می شود. پس از این رویداد صفحه وب از حافظه سرور حذف می شود.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

پ.ن : این مطلب در جهت معرفی ASP.NET نوشته شده و مقدمه ای بود در مورد ویژگی های آن. از این پس بیشتر در مورد ASP.NET مطلب خواهم نوشت. دوستان ایراد میگرفتن که چرا در این مطلب از PHP طرفداری کردم و از ASP.NET مطلبی نمی نویسم. از این به بعد از هر دو مطلب خواهم نوشت!

شروع برنامه نویسی وب

اگر قصد یادگیری برنامه نویسی تحت وب را دارید حتماً تا انتهای این نوشته را بخوانید. امروزه برنامه های تحت وب گسترش فراوانی پیدا کرده اند و هر روز کاربران با نیازهای جدیدی برخورد می کنند که برطرف کننده این نیازها فقط برنامه نویسان متخصص وب هستند. به همین دلیل بازار برنامه نویسی تحت وب چه در ایران چه در خارج از کشور بسیار رونق گرفته است. در این میان ابزارها و زبان های برنامه نویسی مختلفی برای گسترش برنامه های تحت وب وجود دارد که هر کدام مزایا و معایب بسیاری دارند. تعدد این ابزارها و زبان ها باعث سردرگمی بسیاری از تازه کارانی که قصد یادگیری برنامه نویسی تحت وب را دارند، می شود. در این نوشته سعی بر این است که با زبانی ساده شما را در انتخاب ابزارها و زبان های برنامه نویسی تحت وب یاری کند.
تذکر : این نوشته برای روی برنامه نویسی تحت وب تمرکز دارد نه طراحی وب، این دو مقوله های کاملاً جدا از هم می باشند.
اولین مهارتی که بایسیتی فرا بگیرید، درک کدهای HTML و نحوه کاربرد هر یک از تگ های این زبان می باشد. یادگیری و استفاده از این زبان نشانه گذاری بسیار آسان تر از آن چه که فکر می کنید خواهد بود. در واقع اساس صفحات وب برکدهای HTML استوار می باشد. برای یادگیری این زبان منابع بسیاری در اینترنت موجود می باشد. بنده این سایت را به شما توصیه می کنم.
پس از درک زبان HTML نوبت به یادگیری زبان اسکریپت نویسی JavaScript برای خلق صفحات پویاست. به کمک این زبان می توانید به اشیای داخل صفحات دسترسی مستقیم پیدا کرده و آن ها را تغییر دهید. جاوا اسکریپت امروزه در برنامه نویسی تحت وب کاربرد فراوانی دارد و جزء اجتناب ناپذیری از وب 2 می باشد. برای یادگیری این زبان این سایت گزینه ای مناسب خواهد بود.
پس از یادگیری این دو نوبت به انتخاب تکنولوژی و زبان برنامه نویسی برای ایجاد صفحات پویای تحت وب میرسد. برای شروع شما اساساً با دو سه انتخاب مواجه هستید که مطمئناً تا به حال دوستانتان آن ها را به شما پیشنهاد داده اند. تکنولوژی ASP مایکروسافت و زبان PHP انتخاب های شما در این زمینه خواهند بود. در اینجا شما یا قبلاً تجربه برنامه نویسی به زبان های دیگر را داشته اید یا نداشته اید. اگر قبلاً با زبان Visual Basic برنامه نویسی می کرده اید شک نکنید که با ASP هیچ مشکلی نخواهید داشت. استفاده از ASP به راحتی استفاده از VB خواهد بود.اگراز قبل با هیچ زبانی آشنایی نداشته اید و یا با زبان هایی مثل پاسکال و سی آشنایی کافی دارید پیشنهاد من به شما زبان PHP خواهد بود.
چرا PHP؟
  • رایگان و OpenSource : تهیه مفسر PHP برای همه رایگان است و به راحتی از سایت www.php.net قابل دانلود می باشد. سورس کد این مفسر در دسترس عموم است و مانند دیگر نرم افزارهای کدباز پیشرفت قابل توجهی داشته و خواهد داشت.استفاده از این زبان در وب سایت شما هیچ هزینه ای برای شما در بر نخواهد داشت و بسیاری از ویرایشگرهای حرفه ای و ابزارهای این زبان نیز به صورت رایگان و بعضاً کدباز در دسترس شما خواهد بود.
  • ساختار زبان PHP : یکی از دلایل مهم برتری PHP، شباهت ساختار و ترکیب آن به زبان پرقدرت C است.یادگیری نوع داده ها و ساختارهای این زبان برای کسانی که با زبان های خانواده C مثل C++, C#, Java آشنایی مختصری دارند بسیار آسان خواهد بود.
  • عدم وابستگی به سیستم عامل (Cross Platform) : یکی از برترین ویژگی های PHP سازگاری آن با اکثر سیستم عامل ها و نرم افزارهای وب سرور (مانند IIS و Apache) است. PHP را می توانید در ویندوز، انواع توزیع های لینوکس و حتی سیستم عامل های شرکت Apple تجربه کنید.
  • سرعت و کارایی بسیار بالا: PHP یکی از سریع ترین زبان های تحت وب در نوع خود است. به علت ترکیب کدهای PHP درون سندهای HTML سرعت بارگذاری صفحات وب بسیار سریع خواهد بود.
  • امنیت بالا : اگر بر اساس استانداردهای زبان PHP اقدام به برنامه نویسی صفحات وب سایت خود کنید، مطمئن باشید امنیت وب سایت شما تضمین شده خواهد بود. ابزارهای بسیار زیادی نیز جهت کمک به شما به صورت رایگان در سراسر اینترنت موجود است. در ضمن همیشه کسانی هستند که به سئوال های شما در زمینه امنیت پاسخ دهند.
  • ویژگی ها و امکانات عالی : کمتر نیازی در برنامه نویسی تحت وب پیدا می شود که توسط PHP امکان رفع آن نباشد. PHP شامل توابع و کتابخانه های بسیار زیادی است که روز به روز در حال گسترش می باشند، این کتابخانه ها در تسریع برنامه نویسی به شما کمک بزرگی خواهند کرد. کار با بانک های اطلاعاتی و فایل ها، پردازش فرم ها و درخواست های کاربر، ارسال ایمیل، کار با فایل های گرافیکی، متنی، باینری، PDFو ZIP، استفاده از پروتکل های مختلف بوسیله توابع کتابخانه های PHP بسیار آسان و لذت بخش است.
  • پشتیبانی کامل از بانک های اطلاعاتی مختلف : پشتیبانی کامل PHP از نرم افزارهای بانک اطلاعاتی MySQL, SQL Server, Oracle, dBase, IBM, mSQL, DB2, PostgreSQL, Interbase, Informix, Sybase و بسیاری دیگر PHP را به زبانی مناسب برای توسعه برنامه های بانک اطلاعاتی مبتنی بر وب تبدیل کرده است. البته امکان استفاده از بانک های اطلاعاتی Access و دیگر محصولات مشابه با پشتیبانی PHP از ODBC و COM نیز هست.
  • قابلیت سفارشی کردن : مجوز اوپن سورس PHP به تمامی برنامه نویسان امکان اعمال تغییرات در نرم افزار مفسر و اضافه کردن قابلیت های جدید به آن را در جهت رفع نیازهای خود به طور کامل می دهد.
بهترین راه برای یادگیری PHP مطالعه Manual رسمی این زبان است. این Manual از اینجا قابل دریافت می باشد. البته منابع بسیار متعددی را در اینترنت برای یادگیری PHP با یک جستجوی ساده پیدا خواهید کرد.
البته بسیار واضح است که شما می توانید به جای استفاده ازPHP زبان های دیگر مثل Perl را برگزنید و یا به جای یادگیری PHP اقدام به یادگیری ASP کنید. این نوشته بر اساس تجربه و نظر شخصی منتشر شده است و تنها هدف آن کمک به تازه کاران برای یادگیری برنامه نویسی تحت وب است.
خواننده گرامی هر گونه سئوال و پیشنهاد خود را در مورد این نوشته در قسمت نظرات همین پست مطرح کنید. با امید که این نوشته برای شما عزیزان مفید واقع شده باشد.
مطالب مرتبط  :