‌مكانيزاسيون توليد مجله تحت وب

پيشگفتار:
موضوع انتخاب شده براي پروژه پايان نامه اي كه شرح آن را پيش رو داريد،‌مكانيزاسيون توليد مجله تحت وب مي باشد. از آنجائيكه در عصر حاضر، با توجه به گسترش به كارگيري كامپيوتر و استفاده از اينترنت مي‌توان از بسياري موارد كه منجر به اتلاف وقت و مصرف بي مورد كاغذ مي شود، جلوگيري كرد، موضوع مجله را مد نظر قرار داده ايم تا با پياده سازي مراحل تقليد آن تحت وب، در جهت كاهش هزينه ها گامي برداشته باشيم.

در اين زمينه با انتقال جايگاه افراد مسئول، به حوزه اينترنت، مكانيزاسيون توليد شكل مي گيرد. در قسمت تئوري موضوع به چگونگي شكل گيري وظايف پرداخته شده است.
اميد به اينكه مكتوب حاضر مورد توجه و تاييد استاد محترم واقع گردد.

تئوري موضوع:
در موضوع منتخب اين رساله،‌ افراد مسئول در توليد، عبارتند از: مدير مسئول، ويرايشگر، خبرنگاران و نويسندگان ثابت و افتخاري. از جمله وظايفي كه تحت وب انجام مي گيرد به طور اجمالي عبارت است از:
خبرنگاران و نويسندگاني كه مي توانند در هر موقعيت مكاني باشند، بعد از عضويت در سايت، مطالب خود را هر ماه به مجله ارسال مي دارند. ويرايشگر پس از بررسي مطالب ارسالي و تاييد اوليه آنها توسط مدير مسئول ويرايش و تاييد نهايي هر مطلب را به عهده دارد. نهايتاً پس از تاييد نهايي، مطالب تأييد شده به صورت اتوماتيك، با توجه به تاريخ، در هر صفحه جاي مي گيرد و خوانندگان قادر به استفاده از مطالب مندرج خواهد بود.
البته مدير مسئول وظايف ديگري از قبيل نظارت بر اعضاء سايت و كاركردشان و استفاده از آرشيو مجله را نيز به عهده دارد، كه در هر زمينه امكانات و دسترسيهاي لازم به صورت سيستماتيك براي مدير مسئول فوق فراهم مي‌باشد.
علاوه بر مطالب فوق، بازديدكنندگان سايت قادرند نظرات و پيشنهادات خود را پس از مطالعه مطالب ماهانه، براي مجله ارسال كنند. و همچنين يك موتور جستجو نيز در سايت قرار داده شده تا افراد قادر به جستجوي مطالب مورد نظرشان باشند.
مشاهدة آرشيو مطالب از امكانات ديگري است كه بازديدكنندگان به آن دسترسي دارند. علاوه بر امكان ارتباط ميان اعضاء و مسئولين توليد مجله با هم، بازديدكنندگان سايت نيز قادرند با مدير مسئول از طريق ايميل ارتباط برقرار كنند.
به طور كلي اين سايت امكان توليد و دسترسي به مطالب فراهم آمده براي بازديدكنندگان را از طريق وب فراهم مي آورد.

با تشكر و قدرداني از استاد محترم، جناب آقاي مهندس اشعريون كه ما را در
جهت تكميل پروژه پايان نامه، صميمانه راهنمايي و همراهي نمودند.

بخش اول
۱-۱-۱ مروري بر ASP.NET

۱-۱-۱-۱- صفحات سرور فعال (ASP)
علت بررسي فناوري‌هاي قبل از ASP.NET ، به جزئيات پياده‌سازي ASP.NET و فناوري قبل از آن، يعني ASP بستگي دارد. درك ASP مستلزم درك ISAPI و درك ASP.NET مستلزم درك ASP است.
وقتي ISS2.0 به عنوان بخشي از ويندوز NT4.0 مطرح شد، ميكروسافت فناوري جديدي را به نام Denali ارائه داد. اين فناوري در دوره فعال بودن شركت ميكروسافت ايجاد شد و به همين دليل نام آن صفحات سرور فعال (ASP) انتخاب گرديد. چندين نسخه از ASP عرضه شد، مثل IIS 4.0 , ASP 2.0 در ويندوز IIS 5.0, ASP.3,NT در ويندوز ۲۰۰۰٫
ASP نوع متفاوتي از محيط توسعه است. اولاً يك محيط اسكريپتي است. صفحه را به راحتي ويرايش مي‌كنيد، آن را در پوشه مناسبي قرار مي‌دهيد و مجوزهاي مناسبي به آنها اختصاص مي‌دهيد. اين صفحات توسط مرورگر فراخواني مي‌شوند. ثانياً، كد ASP مي‌تواند با HTML تركيب شود.
كد ASP معمولاً در ويژوال بيسيك نسخه اسكريپتي (VBScript) نوشته مي‌شود، ولي از Jscript نيز مي‌توان استفاده كرد.
مزايايASP : فناوريASP به سرعت مورد توجه قرار گرفت، زيرا كار دشوار ساخت صفحات پويا را به راحتي انجام داد. ايجاد برنامه‌هاي كاربردي ISAPI, CGI چندان دشوار نبود، ولي استفاده از ASP بسياري آسان است.
به طور پيش‌فرض، ASP از VBScript استفاده مي‌كند. ميليون‌ها نفر با VBScript آشنايي دارند كه از طريق ASP مي‌توانند وارد دنياي اينترنت شوند. به همين دليل، ASP راه مناسبي براي ساخت صفحات وب است.
علاوه بر اين، از طريق ADO امكان دستيابي آسان به بانك اطلاعاتي را فراهم مي‌سازد. براي ساخت محتويات پويا، بايد آن محتويات را از جايي دريافت كرد كه ADO اين امكان را فراهم مي‌كند. توجه داشته باشيد كه ADO يك واسط نرم‌افزاري است كه مي‌تواند با سيستم‌هاي مديريت بانك اطلاعاتي مثل اكسس و SQL Server ارتباط برقرار كند.
مدل برنامه‌نويسي ASP اجازه نوشتن كد و اجرا را مي‌دهد و نيازي به دنبال كردن مراحل كامپايل و نصب نيست. همان‌طور كه خواهديد ديد، ASP.NET نيز از همين روش استفاده مي‌كند.
معايب ASP: فناوري ASP ابزار قدرتمندي براي توليد برنامه‌هاي بزرگ وب است. وب سايت‌هايي مثل www.microsoft.com و بسياري از سايت‌هاي بزرگ و كوچك ديگر، با موفقيت از ASP استفاده كردند.
اولين چيزي كه در مورد ASP مطرح است، سربار ناشي از تفسير كد VBScript يا Jscript در هر درخواست است.
در اغلب سايت‌هاي متوسط ASP، بيشتر گلوگاه‌ها ناشي از دستيابي به بانك اطلاعاتي و به هنگام‌سازي آن است تا موتور اسكريپتي ASP . نسخه‌هاي بعدي ASP در ارائه سرويس به صفحات اسكريپتي كارآمدتر شدند.

ASP محيط برنامه‌نويسي قابل اعتماد، قدرتمند و كاملاً مقياس‌پذيي را براي بانك اطلاعتي فراهم نمي‌كند. انواع در VBScript فاقد هر نوع هستند. وقتي مقداري در متغيري قرار مي‌گيرد، نوع آن تعيين مي‌شود، ولي اين نوع دائمي نيست و قابل تغيير است. به اين ترتيب، احتمال بروز خطا بيشتر مي‌شود.
مسئله ديگر، توانايي تركيب HTML و اسكريپت است. به اين ترتيب، كدهاي اسكريپت در داخل HTML پراكنده مي‌شود. چون با هر اجراي اسكريپت بايد تعويض بستر صورت گيرد (از HTML به VBScript و برعكس)، كارايي آسيب مي‌بيند.
۱-۱-۱-۲ ASP.NET
وقتي ASP3.0 به همراه ويندوز ۲۰۰۰ ارائه شد، روشن شد كه آينده توليد نرم‌افزار به آينده وب گره خورده است. پس از آن، شركت ميكروسافت نسخه جديد ASP را به نام ASP.NET ارائه كرد كه سهولت كدنويسي ASP را دارد، به طوري كه برنامه را مي‌نويسيد، درپوشه‌اي قرار مي‌دهيد، امتياز دستيابي براي آن تعيين مي‌كنيد و به راحتي قابل اجرا است. ASP.NET نوآوري‌هايي دارد كه منجر به تفكيك هسته برنامه كاربردي از نمايش آن مي‌شود.
ASP.NET ويژگي‌هاي جديدي به ASP اضافه نمود و قابليت‌هاي آن را افزايش داد. ASP.NET فقط بهبود تدريجي ASP نيست، بلكه يك محصول كاملاً جديد است.

۱-۱-۱-۳ محيط كاري NET:
محيط كاري NET معماريي است كه ساخت برنامه‌هاي كاربردي وب و سنتي را آسان‌تر مي‌سازد. در ادامه به شرح اين محيط كاري مي‌پردازيم.
زبان مشترك زمان اجرا (CLR) زبان مشترك زمان اجرا، مجموعه‌اي از سرويس‌ها را براي تمام زبان‌هاي ASP.NET فراهم مي‌سازد. به عبارت ديگر، مجموعه‌اي از انواع مشترك را براي بسياري از زبان‌ها تهيه مي‌كند.
زبان‌هاي كامپايلري ASP.NET با استفاده از زبان‌هاي كامپايلري كارايي پيشرفته‌اي را ارائه مي‌كند، زبان‌هاي كامپايلري به برنامه‌نويس اجازه مي‌دهند تا صحت برنامه را از نظر نحوي بررسي كند . ASP چنين امكاني را فراهم نمي‌كند، لذا ساده‌ترين خطاي نحوي نيز تا اولين اجرا مشخص نمي‌شوند.
زبان‌هاي جديد: ويژوال‌بيسيك نت نسخه كاملاً جديدي از ويژوال بيسيك است كه نحو آن زيباتر مي‌باشد. C# (كه c شارپ تلفظ مي‌شود) زبان جديدي است كه مشابه با C++ و فاقد ويژگي‌هاي ناامن C++ است.
وژوال استوديونت ويژوال استوديونت محيط توسعه جديدي است كه در آن برنامه‌ها را به سرعت مي‌توان اجرا كرد.
مولفه‌هاي جديد محيط كاري NET از انواع جديدي از مولفه‌هاي پشتيباني مي‌كند كه در ASP وجود نداشته‌اند.
فرم‌هاي وب ابزارهاي مناسبي براي ايجاد صفحات پويا هستند كه از طريق آنها مي‌توان ورودي‌هاي كاربر را دريافت كرد.

 

سرويس‌هاي XML وب با استفاده از سرويس هاي XML وب مي‌توان خدماتي ايجاد كرد و سپس آنها را با استفاده از قراردادهاي استاندارد صنعت مهيا نمود.
ADO.NET فناوري ADO در محيط كاري NET، فناوري جديدي است كه موجب مي‌شود برنامه‌هاي كاربردي ASP.NET به راحتي به اطلاعات موجود در بانك اطلاعاتي رابطه‌اي يا قالب‌هاي ديگري مثل XML دستيابي داشته باشند.
تاريخچه مختصري از ساخت صفحات وب، بايد اشتياق مطالعه ASP.NET را در شما فراهم كرده باشد. يادگيري يك زبان برنامه‌سازي يا محيط توسعه برنامه، خيلي شبيه به يادگيري زبان طبيعي است.
محيط كاري NET
نقطه شروع براي تحليل محيط كاري NET درك اين نكته است كه NET شامل فناوري‌هاي مختلف است، از جمله:
زبان‌هاي NET : C#NET و ويژوال بيسيك نت زبان‌هاي متداولي‌اند كه براي توليد برنامه‌هاي كاربردي ASP.NET به كار مي‌روند. ويژوال بيسيك نت نسخه پيشرفته ويژوال بيسيك است و C#NET شبيه به C++ است.
كتابخانه كلاس NET : هزاران قطعه از قابليت‌هاي از پيش تعيين شده‌اند كه مي‌توان در برنامه‌هاي كاربردي به كار گرفت. اين قطعات گاهي در مجموعه‌اي از فناوري‌ها مثل ADO.NET (فناوري ايجاد برنامه‌هاي بانك اطلاعاتي) و فرم‌هاي ويندوز (فناوري ايجاد واسط‌هاي كاربر) نهفته‌اند. توجه كنيد كه محيط كاري NET بيش از ۳۴۰۰ كلاس دارد.
بعضي از بخش‌هاي كتابخانه كلاس‌ها هيچ وقت در طراحي صفحات وب مورد استفاده قرار نمي‌گيرند (مثل كلاس‌هايي كه براي ايجاد برنامه‌هاي كاربردي با واسط‌هاي ويندوز استفاده مي‌شوند). بخش‌هاي ديگر مستقيماً براي ساخت صفحات وب به كار مي‌آيند، مثل ايجاد سرويس‌هاي وب، و واسط كاربر براي فرم‌ها. بعضي ديگر از بخش‌هاي كتابخانه كلاس‌ها براي برنامه‌نويسي‌هاي مختلفي به كار مي‌روند و مخصوص وب يا ويندوز نيستند. اين كلاس‌هاي پايه‌اي هستند كه براي تعريف متغير، ورودي- خروجي، دستيابي‌ به داده‌ها ، اطلاعات XML و غيره به كار مي‌روند.
زبان مشترك زمان اجرا: موتور زمان اجراي NET است كه تمام برنامه‌هاي NET را اجرا مي‌كند و خدمات نويني مثل مديريت حافظه خودكار، امنيت، بهينه‌سازي و جمع‌آوري زباله‌ها (محل‌هايي از حافظه كه نمي‌توان به آنها مراجعه كرد) را انجام مي‌دهد.
ASP.NET : يك محيط خدماتي است كه در آن مي‌توان برنامه‌هاي كاربردي وب و سرويس‌هاي وب را به هر يك از زبان‌هاي NET نوشت، به طوري كه از ويژگي‌هاي كتابخانه كلاس NET نيز استفاده مي شود.
براي پي بردن به ويژگي‌هاي ASP.NET بررسي محدوديت‌هاي ASP مفيد واقع مي‌شود. به عبارت ديگر، قبل از درك راه‌حل NET، لازم است با مشكلاتي آشنا شويد كه برنامه‌نويسان ASP با آن‌ها مواجه‌اند:

محدوديت‌هاي اسكريپت: برنامه‌هاي ASP بر اساس VBScript نوشته مي‌شوند كه محدوديت‌هاي خاصي دارد. براي برطرف كردن اين محدوديت‌ها، برنامه‌نويسان مجبور مي شوند از مولفه‌هاي ديگر استفاده كنند كه منجر به پيچيدگي بيشتري مي‌شود. در ASP.NET، صفحات در زبان‌هاي نوين NET طراحي مي‌شوند، نه با استفاده از اسكريپت‌ها.
مشكلات پيكربندي وب سايت: با توجه به ماهيت عملكرد ASP, COM به راحتي نمي‌توان مولفه‌هاي مورد استفاده در وب‌سايت را به هنگام سازي كرد. اغلب، لازم است سرور متوقف و دوباره راه‌اندازي شود كه اين كار در سرور خوب، عملي نيست در ASP.NET امكاناتي وجود دارد كه وب‌سايت‌ها را به طور پويا مي‌توان به هنگام‌سازي و دوباره پيكربندي كرد.
فقدان ساختار برنامه كاربردي : كد ASP مستقيما در زبان HTML قرار داده مي‌شود. اين موضوع، براي زبان‌هاي شيءگراي نوين پسنديده نيست، زيرا براي استفاده مجدد از آن كدها، نياز به تغييرات زيادي در آن‌ها است.
محدوديت‌هاي حالت: يكي از قوي‌ترين ويژگي‌هاي ASP، قابليت‌هاي حالت تماس مجتمع است. اما در مواردي كه وب‌سايت توسط چند ميزبان اداره مي‌شود، از اين قابليت استفاده نمي‌شود.به عنوان مثال، يك مشتري ممكن است به سرور B دستيابي باشد، در حالي كه اطلاعات تماس آن در سرور A موجود بود و اكنون از بين رفته است. ASP.NET براي جلوگيري از اين مسئله، اطلاعات حالت را در يك مخزن مركزي مثل يك فرايند، يا بانك اطلاعاتي ذخيره مي‌كند كه تمام سرورها مي‌توانند به آن دستيابي داشته باشند.
ويژوال استوديونت: ويراستاري است كه محيط قدرتمندي را براي ايجاد برنامه‌هاي كاربردي پيشرفته فراهم مي‌سازد. بعضي از ويژگي‌هاي آن عبارتند از:
تشخيص خطاي خودكار: هنگام اجراي برنامه، اشكالات نحوي برنامه را پيدا كرده گزارش مي‌كند. به اين ترتيب، در وقت برنامه‌نويسي صرفه‌جويي مي شود. براي گزارش خطا، زير واژه‌هايي كه ممكن است توليد خطا كنند، خط مي‌كشد.
ابزارهاي اشكال‌زدايي: اين ابزارها موجب رديابي اجراي برنامه و مشاهده محتويات متغيرها مي‌شوند. طراحي صفحه با استفاده از طراح فرم وب كه در ويژوال استوديونت فراهم است، مي‌توان صفحات جذابي را به سادگي طراحي كرد.
كمك‌رساني خودكار: هنگام كد نويسي، ليستي از متدها، خواص و رويدادهاي اشيا را به همراه پارامترهاي مورد نياز متدها نمايش مي‌دهد كه اين كار منجر به كاهش ميزان خطاي نحوي و تسريع در برنامه‌نويسي مي‌شود.
مشخصات زبان مشترك (CLS): استاندارد و خواسته‌هايي را مشخص مي‌كند كه به شركت‌هاي ديگر اجازه طراحي و نوشتن زبان‌هايي را مي‌دهد كه بتوانند تحت CLR (زبان‌مشترك زمان اجرا)، اجرا شوند به عبارت ديگر، مجموعه‌اي از قوانين و مقررات است كه موجب مي‌شود زبان‌ها خواص مشتركي را دارا باشند.
سرويس‌هاي COM+ : COM نقشه استانداري را براي چگونگي قراردادن عمليات اشيا در حافظه ارائه مي‌كند. COM+ نسخه پيشرفته COM است كه ويژگي‌هاي جديدي را به COM اضافه كرد. مرز بين اين مولفه‌ها روشن نيست، به عبارت ديگر نمي‌توان آنها را به طور كامل از هم تفكيك كرد. به عنوان مثال، از يك طرف ASP. NET به كل برنامه‌هاي كاربردي وب گفته مي‌شود كه با زبان‌هاي NET ساخته مي‌شوند و شامل مسائل ويراستاري و زبان‌هاي NET و بسياري از قطعات كتابخانه كلاس‌ها است كه مخصوص وب نمي‌باشند. در اين كتاب منظور ما از ASP.NET، شامل مفاهيم پايه NET، زبان VB.NET و موضوعاتي است كه برنامه‌نويسان NET از آنها بهره مي‌برند، مثل برنامه‌نويسي بر اساس مولفه‌ها و ADO.NET براي دستيابي به داده‌ها.

انواع فايل‌ها در ASP.NET
برنامه كاربردي ASP.NET از برنامه‌هاي كاربردي همتاي ASP پيچيده‌تر هستند و از چندين نوع فايل پشتيباني مي‌كنند.
علاوه بر اين، پوشه مربوط به وب‌سايت مي‌تواند حاوي فايل‌هايي باشد كه مخصوص ASP.NET نباشند. مثل فايل تصوير، فايل‌هاي HTML و فايل‌هاي مربوط به شيوه نامه‌ها (فايل‌هاي CSS). ويژوال استوديونت، به طور خودكار فايل styles.css را به پروژه اضافه مي‌كند كه مي‌توانيد سبك‌هاي مورد استفاده در كنترل‌هاي صفحات وب را به آن اضافه كنيد. البته اين فايل‌ها بيشتر با HTML به كار مي‌روند تا ASP.NET اغلب اين فايل‌ها اختياري اد. مي‌توانيد برنامه‌هاي كاربرديي بنويسيد كه فقط شامل فايل‌هاي aspx يا asmx باشند.
انواع فايل‌ها در ASP.NET
aspx: صفحات ASP.NET حاوي واسط كاربر وتمام يا بخشي از كد است. كاربران بايد مستقيماً به يكي از اين فايل‌ها براي شروع وب‌سايت مراجعه كنند.
ascx: كنترل‌هاي كاربر هستند. خيلي شبيه به صفحات وب هستند، ولي در داخل فايل aspx اجرا مي‌شوند. با استفاده از اين فايل‌ها مي‌توان واسط كاربر مناسبي را طراحي كرد.
asmx : خدمات وب ASP.NET هستند. خدمات وب متفاوت از صفحات وب عمل مي‌كنند، اما از منابع تنظيمات پيكربندي و حافظه مشتركي بهره مي‌برند.
Web.congig: فايل پيكربندي برنامه كاربردي ASP.NET است كه بر اساس XML نوشته مي‌شود. اين فايل شامل تنظيمات امنيتي، مديريت حالت و حافظه و غيره است.
global.asax: فايل برنامه كاربردي سراسري است. از اين فايل براي تعريف متغيرهاي عمومي و پاسخ به رويدادهاي عمومي استفاده مي‌شود.
disco ياvsdisco :فايل‌هاي پوشه اي خاص‌اند كه مشتريان با استفاده از آن‌ها مي‌توانند خدمات وب را بيابند.
csياbv: فايل‌هاي كد هستند كه در ويژوال بيسيك با c# تشكيل مي شوند. اين فايل‌ها موجب مي‌شوند كد از منطق واسط كاربر در صفحه وب تفكيك شود.
resx: اين فايل‌ها هنگام استفاده از ويژوال استوديونت ايجاد مي‌شوند و براي ذخيره اطلاعاتي به كار مي‌روند كه هنگام طراحي اضافه مي‌كنيد.
vbproj,suo,sln,csproj : اين فايل‌ها توسط ويژوال استوديونت براي دسته‌بندي پروژه‌ها (مجموعه‌اي از فايل‌ها در برنامه كاربردي وب) و راه‌حل‌ها (مجموعه‌اي از پروژه‌ها) به كار مي‌روند. ليستي از فايل‌هاي مرتبط و گزينه‌هاي مربوط به محيط ويژوال استوديونت را ذخيره مي‌كنند. اين فايلها در هنگام نوشتن صفحات وب به كار مي‌آيند و نبايد به وب سرور ارسال شوند. تنظيمات امنيتي ASP.NET مانع از دستيابي كاربران به اين فايل‌ها مي‌شود.
بخش دوم
فرم‌ها و كنترل‌هاي وب
فرم‌ها اساس كار صفحات وب در ASP.NET مي‌باشند. با استفاده از فرم‌ها مي‌توان ورودي‌هاي كاربر را دريافت و پردازش كرد و نتايج را در اختيار كاربر قرار داد. در واقع، فرم‌ها موجب پويايي صفحات وب مي شوند. به عبارت ديگر، فرم‌هاي وب، فناوري ASP.NET براي ايجاد صفحاتي است كه قابل برنامه‌نويسي‌اند.
عناصر تشكيل دهنده وب
هر فرم وب از چندين كنترل تشكيل شده است. در واقع به اعضاي تشكيل دهنده فرم كه براي ايجاد محاوره با بينندگان صفحات وب به كار مي‌روند، كنترل مي‌گويند. كنترل‌هاي تشكيل‌دهنده فرم‌هاي وب به دو دسته تقسيم مي‌شوند.
كنترل‌هاي سرور HTML اين كنترل‌ها را مي‌توان در سمت سرور دستكاري كرد. قبل از اين كه فرم در اختيار مشتري قرار گيرد، موتور ASP آن ها را به عناصر معادل HTML تبديل مي‌كند. اين كنترل ها در فضاي نام System. Web. UI. Html Controls قرار دارند. اين كنترل‌ها براي كساني خوب است كه قبلاً با HTML آشنايي دارند يا مي‌خواهند صفحات ASP قديمي را به صفحات جديد ASP.NET تبديل نمايند.
كنترل‌هاي سرور وب: اين كنترل‌ها به اسامي كنترل‌هاي وب يا كنترل‌هاي فرم وب ASP.NET خوانده مي‌شوند. اين‌ها كنترل‌هاي نسل جديد هستند كه توسط شركت ميكروسافت ايجاد شده‌اند. خواص و ويژگي‌هاي جالبي دارند.
براي بررسي و درك بهتر كنترل‌هاي وب، آنها را به چند دسته تقسيم مي‌كنيم:
كنترل‌هاي پايه: اگر با ويژوال بيسيك نت كار كرده باشيد، با اين كنترل‌ها آشنايي داريد.
كنترل‌هاي اعتبارسنجي و پيشرفته: كنترل‌هاي اعتبارسنجي براي بررسي اعتبار محتويات فرم به كار مي‌روند.
كنترل‌هاي پيشرفته: اين كنترل‌ها براي نمايش تقويم يا ارائه تبليغات در فرم‌ها به كار مي‌روند.
كنترل‌هاي داده‌اي: اين كنترل‌ها معمولاً براي نمايش داده‌ها به كار مي‌آيند.
كنترل‌هاي پايه‌اي:
Label: براي توليد متن‌هاي ثابت (متن‌هايي كه تغيير نمي‌كنند) به كار مي‌رود.
TexBox : براي دريافت اطلاعات كاربر و نمايش هر نوع اطلاعات قابل تغيير به كار مي‌رود.
Button : براي ايجاد دكمه‌ها بر روي فرم به كار مي‌رود.
CheckBox : براي ايجاد كادر انتخابي به كار مي‌رود. با كليك كردن اين كادر انتخاب، ع

لامت در داخل آن قرار مي‌گيرد و با كليك مجدد حذف مي‌شود.
CheckBoxlist : ليستي از چند كادر انتخاب را ايجاد مي‌كند كه به هم وابسته‌اند. چند كادر انتخاب را مي‌توان فعال (انتخاب) كرد.
RadioButton براي ايجاد دكمه راديويي به كار مي‌رود. وقتي بخواهيم از بين چند گزينه، فقط يك گزينه قابل انتخاب باشد، اين كنترل مناسب است.
RadioButtonlist: ليستي از دكمه‌هاي راديويي را انتخاب مي‌كند كه از بين آنها فقط مي‌توان يك گزينه را انتخاب كرد.
HyperLink : براي ايجاد پيوند به كار مي‌رود. پيوند مي‌تواند كاربران را از صفحه‌اي به صفحه ديگر ببرد.
LinkButton : دكمه‌اي را به شكل پيوند ايجاد مي‌كند كه معمولاً براي تحويل دادن فرم به سرور به كار مي‌رود.
ImageButton : يك دكمه تصويري ايجاد مي‌كند كه به كليك كردن پاسخ مي‌دهد.
Image : تصويري را وارد صفحه وب مي‌كند.
ListBox: ليستي از گزينه‌ها را ظاهر مي‌كند كه يك يا چند گزينه از آن را مي‌توان انتخاب كرد.
DropDownlist: ليستي از گزينه‌ها را ظاهر مي‌كند كه فقط يكي از آنها قابل انتخاب است.
Panel: مانند ظرفي عمل مي‌كند كه مي‌تواند چند كنترل را در بر گيرد. خواص آن كنترل‌ها را مي‌توان يك جا تعيين كرد.
Table: براي ايجاد و دستكاري جدول به كار مي‌رود.
TableRow: سطري از جدول را مشخص مي‌كند.
TableCell : خانه‌اي (ستوني) از جدول را مشخص مي‌كند.

كنترل‌هاي اعتبارسنجي
RequiredFieldValidator: كنترلي را بررسي مي‌كند تا خالي نباشد. در صورت خالي‌بودن كنترل مي‌توان پيام خطايي را صادر كرد.
RangeValidation: تعيين مي‌كند كه مقدار يك كنترل در محدوده خاصي قرار دارد يا خير.
CompareValidator : مقدار يك كنترل را با يك مقدار ثابت يا مقدار كنترل ديگر مقايسه مي‌كند.
RegularExpressionValidator: يك عبارت منظم را با محتويات يك كنترل تطبيق مي‌كند. در صورت عدم تطابق، پيام خطايي را صادر مي‌نمايد.
ValidationSummary: پيام‌هاي خطاي مربوط به ساير كنترل‌هاي اعتبارسنجي را جمع‌بندي كرده، يك جا نشان مي‌دهد.
CustomValidator : چگونگي اعتبارسنجي كنترل‌ها به وسيله كاربر تعيين مي‌شود. براي اين منظور بايد توابعي با Javascript نوشته شوند.
كنترل‌هاي پيشرفته:
calendar : براي نمايش و كاركردن با تقويم به كار مي‌رود.

 

AdRotator: تصاوير تبليغاتي را به صفحه وب اضافه مي‌كند.
كنترل‌هاي داده‌اي:
Datalist : براي نمايش و قالب‌بندي داده‌هاي بانك اطلاعاتي و منوهاي چندستوني به كار مي‌رود. داده‌ها به صورت جدول نمايش داده مي‌شوند.
DataGrid: براي نمايش و قالب‌بندي داده‌هاي بانك اطلاعاتي به كار مي‌رود. قابليت‌هاي پيشرفته‌اي مثل مرتب‌سازي و صفحه‌بندي اطلاعات را دارد.
Repeator: براي نمايش داده‌هاي موجود در جدول بانك اطلاعاتي به كار مي‌رود و فاقد امكانات ويرايش انتخاب و مرتب سازي است.

بخش سوم
كنترل‌هاي راديويي، انتخابي و ليست‌ها
كنترل‌ RadioButton
اين كنترل يك دكمه راديويي را در صفحه ايجاد مي‌كند. بديهي است كه تنها وجود يك دكمه راديويي، مشكلي را حل نمي‌كند. بلكه مجموعه‌اي از دكمه‌هاي راديويي بايد ايجاد شوند تا هر كدام يك گزينه را تعريف كند. بنابراين ، هر مجموعه از دكمه‌هاي راديويي از طريق خاصيت Group Name در يك دسته قرار مي‌گيرند كه در هر دسته فقط يك گزينه قابل انتخاب است. بنابراين ، ممكن است چند دسته از دكمه‌هاي راديويي در صفحه داشته باشيم كه هر دسته داراي يك نام باشند و در هر دسته يك گزينه قابل انتخاب است.
بديهي است كه يكي از نكات مهم در بكارگيري دكمه‌هاي راديويي، تشخيص گزينه انتخاب شده است اين كار به دو روش انجام مي‌گيرد:
-استفاده از خاصيت Checked هر يك از دكمه‌هاي راديويي.
– استفاده از رويداد CheckedChanged .
اگر بخواهيد پس از تغيير وضعيت هر گزينه، فرم به سرور تحويل داده شود، بايد خاصيت AutoposBack تمام گزينه‌ها را True كنيد.

كنترل‌ RadioButtonList
اين كنترل مي‌تواند حاوي چند دكمه راديويي باشد. به عبارت ديگر، اين كنترل شامل چند كنترل RadioButton است كه به طور خودكار در يك گروه قرار مي‌گيرند و فقط يكي از آنها قابل انتخاب است. وقتي چند دكمه راديويي بخواهند در يك گروه قرار گيرند، بايد خاصيت Group Name آنها يك مقدار داشته باشد. اما وقتي از RadioButtonList استفاده مي‌شود، دكمه‌هاي راديويي به طور خودكار در يك گروه قرار خواهند گرفت.
نكات مهم مربوط به كنترل RadioButtonList عبارتند از:
-اضافه كردن دكمه‌هاي راديويي به ليست
-يافتن دكمه راديويي انتخاب شده
-تعيين ظاهر ليست دكمه‌هاي راديويي
كنترل DropDownList
اين كنترل نوعي ليست بازشونده را نشان مي‌دهد كه در آن واحد فقط يك گزينه آن نمايش داده مي‌شود و با كليك كردن فلش موجود در آن مي‌توام تمام گزينه‌هاي ليست را مشاهده كرد. فقط يك گزينه از آن نيز قابل انتخاب است (مثل كنترل RadioButtonList ) . امتياز اين ليست اين است كه فضاي اندكي را از صفحه نمايش اشغال مي‌كند.
افزودن گزينه‌ها به ليست
افزودن گزينه‌ها به ليست، در ويژوال استوديونت و كدنويسي امكان‌پذير است. همان مراحلي كه در مورد افزودن گزينه‌ها به كنترل CheckBoxList دنبال كرديم، در اين ليست پي گيري خواهند شد.
در كد نويسي نيز به دو روش مي‌توان گزينه‌ها را به ليست اضافه كرد:
روش اول: هنگام اعلان كنترل (مانند CheckBoxList).
روش دوم: افزودن مستقيم به كلكسيون Items.

بخش چهارم
پيوندها و فرمت‌بندي كنترل‌ها
ايجاد پيوند
هدف از پيوند ، رفتن از صفحه‌اي به صفحه ديگر است. به عبارت ديگر براي مشاهده صفحات مختلف سايت، از پيوند استفاده مي‌شود. يعني، پيوندها ابزارهايي هستند كه بخش‌هاي مختلف يك وب‌سايت را به يكديگر اتصال مي‌دهند. وقتي با ماوس در صفحه حركت مي‌كنيد، در نقاطي از صفحه، علامت ماوس به شكل دست در مي‌آيد كه اين نقاط همان پيوندها هستند.
كنترل HyperLink
براي ايجاد پيوند از كنترل HyperLink استفاده مي‌شود. اين كنترل فاقد هر گونه رويداد و متد است. پيوندي كه توسط اين كنترل ايجاد مي‌شود، مي‌تواند به صورت متني يا تصويري باشد.
حتماً در بسياري از سايت‌ها ديديد كه وقتي پيوندي را كليك مي‌كنيد، صفحه جديد مي‌تواند در پنجره فعلي باز شود يا مي‌تواند در پنجره جديدي قرار گيرد. اگر بخواهيد در پنجره فعلي باز شود، خاصيت Target را برابر با self- و اگر بخواهيد در پنجره جديدي قرار گيرد، خاصيت Target را برابر با _blank قرار دهيد.
مديريت حالت كنترل‌ها
تفاوت عمده بين برنامه‌نويسي در اينترنت و برنامه‌نويسي در محيط‌هاي غير اينترنت، مديريت بر حالت است. در يك برنامه عادي ويندوز، حالت فرم و كنترل‌ها به طور خودكار و پنهان از ديد كاربر، مديريت مي‌شوند. در چنين محيطي حافظه هميشه به اندازه كافي موجود است. اما در برنامه‌هاي وب، قضيه فرق مي‌كند. هزاران كاربر ممكن است همزمان يك برنامه وب را بر روي يك كامپيوتر (سرور) اجرا كنند به همين دليل نوشتن برنامه‌هاي وب متفاوت ازنوشتن برنامه‌هاي عادي ويندوز است.
پي‌بردن به محدوديت‌هاي حالت‌ها و چگونگي مديريت بر آنها، نكته مهمي در طراحي برنامه‌هاي كارآمد در وب است. در برنامه عادي ويندوز، كاربران با برنامه كاربردي در حال اجرا تعامل دارند. اطلاعات كاري فعلي در بخشي از حافظه كامپيوتر ذخيره مي‌شود. برنامه‌هاي كاربردي وب، از الگوي دستيابي بي‌اتصال استفاده مي‌كنند.
در وب، كاربر، صفحه‌اي را از وب سرور درخواست مي‌كند. وقتي صفحه به كاربر تحويل داده شد، اتصال قطع مي‌شود و سرور هر اطلاعاتي كه راجع به آن كاربر دارد، از دست مي‌دهد. وقتي كاربر صفحه را دريافت مي‌كند، برنامه كاربردي وب از حالت اجرا خارج مي‌شود.