مقدمة في ASP.NET PDF
Document Details
Uploaded by Deleted User
عمران صاحل
Tags
Summary
This document provides an introduction to ASP.NET, a technology for building web applications. It discusses the necessary requirements for a web server and explains the concept of client-server interaction in web programming.
Full Transcript
إعداد :عمران صاحل مقدمة يف ASP.NET ما هي ASP.NET؟ هي تقنية موجودة ضمن لغات فيجوال ستديو دوت نت ) ، (VISUAL SDTIO.NETتعمل على بناء تطبيقات...
إعداد :عمران صاحل مقدمة يف ASP.NET ما هي ASP.NET؟ هي تقنية موجودة ضمن لغات فيجوال ستديو دوت نت ) ، (VISUAL SDTIO.NETتعمل على بناء تطبيقات خصصت للعمل على شبكة اإلنترنت ،قد تكون هذه التطبيقات مواقع انترنت ديناميكية أو ثابتة أو خدمات انترنت أو ...الخ . مالحظة ASP.NETعبارة عن تقنية و ليست لغة برمجة . كلنا نعلم أن هناك منصتين لتنفيذ الشفرات في برمجة الويب هي : .1المتصفح – المستعرض -أي أن المتصفح هو من يفهم هذه الشفرات – األكواد -و ينفذها ،هذه الشفرات قد تكون بلغات مثل . JSCRIPT ، VBSCRIPT ، JAVASCRIPT .2في الملقم – سيرفر الويب -أي أن الشفرات مكتوبة بلغات ال يفهمها المتصفح و تحتاج إلى جهاز معد بإعدادات خاصة لترجمة هذه الشفرات و تنفيذها و توليد صفحات مكتوبة بلغات يفهمها المتصفح ،هذا الشفرات التي ال يفهمها قد تكون بلغات مثل , VB.NET . PHP ، C++.NET , C# صممت تقنية ASP.NETللعمل ضمن الملقم – سيرفر الويب ، - WEB SERVERو تكتب شفراتها بلغات مثل ، C++.NET , C# , VB.NETلكن ال يعني ذلك أنه ال يمكن كتابة شفرات تعمل ضمن المتصفح في صفحات ASP.NETمن الممكن عمل ذلك ،من هذا نستنتج أن صفحات ASP.NETيمكن أن تكون هجينة (فيها شفرات تعمل ضمن المستعرض و أخرى تعمل ضمن الملقم ) . هل يجب أن يمتلك جهاز الزائر ( العميل - ) Clientلموقع صمم بتقنية - ASP.NET الويب ) الملقم (سيرفر مالحظة هو جهاز كمبيوتر معد بإعدادات خاصة – إعدادات تجعله يصبح ملقم ويب – هذه اإلعدادات تختلف حسب نوع الصفحات التي نريد رفعها على هذا الملقم و قد يوجد هنالك أكثر من نوع واحد من اإلعدادات على هذا الجهاز مثل إعدادات ملفات ASP.NETو هو تنزيل IISوإعدادات ملفات PHPو هو تنزيل .Apache ترفع إلى الملقم صفحات اإلنترنت و الملفات التي نريد تصفحها و تناقلها و عرضها عبر شبكة اإلنترنت ،هذا يعني أن كل الصفحات والملفات التي نراها في اإلنترنت موجودة على سيرفرات ويب ،و أنه إذا أردت أن يصل الناس إلى موقعك يجب رفعه إلى ملقم ويب . 2 إعداد :عمران صاحل مقدمة يف ASP.NET إعدادات خاصة ؟ ال .ال يجب أن يكون جهاز الزائر (العميل ) معد بأي إعدادات ،حتى و إن كان جهاز العميل على نظام تشغيل مختلف غير ويندوز ال توجد أي مشكلة . هل يجب أن يكون الملقم – السيرفر -معد بإعدادات خاصة ليحتوي على صفحات ASP.NET؟ و ما هي هذه اإلعدادات أن وجدت ؟ نعم يجب توافر بعض المتطلبات في الملقم ليصبح ملقم – سيرفر ويب – يقبل تنفيذ صفحات . ASP.NET المتطلبات التي يجب توافرها في الملقم لتشغيل صفحات : ASP.NET .1إطار عمل دوت نت ().NET FRAMEWORK وهذا اإلطار مهمته تكمن في جعل نظام التشغيل في الملقم يفهم التطبيقات المبنية بالدوت نت و ينفذها . الحظ أنه مهم لكل التطبيقات المبنية بالدوت نت و ليس تطبيقات ASP.NETفقط . .2نظام التشغيل WINDOWS ذلك ألن إطار عمل دوت نت ) (.NET FRAMEWORKال يعمل إال على نظام التشغيل . WINDOWS وعلى الرغم من ذلك هنالك بعض المشاريع التي تحاول تشغيل تطبيقات الدوت نت على أنظمة تشغيل أخرى من هذه المشاريع مشروع MONOالمفتوح المصدر . )INTERNET INFORMATION SERVICES( IIS.3 وهو ما يجعل الجهاز يتحول إلى ملقم -سيرفر ويب -و بالتالي ينفذ تطبيقات .ASP.NET و لتشغيل تطبيقات ASP.NETيجب أن يكون الـ ( )IISمن اإلصدار الخامس 5.0أو أحدث منه . حاول أن تنصب اإلصدار األحدث دائما لنظراً للتعديالت و التطويرات المستمرة كما أن هنالك بعض المميزات التي تحتاج إلى اإلصدار األحدث دائما ً .من الجدير بالذكر أن الـ( )IISيأتي في قرص أنظمة التشغيل الـ(. )Windows مالحظة يأتي IISمنصبا ً سابقا ً في بعض أنظمة التشغيل مثل Windows 2000 Server . Windows 2003 Server ,Windows 2008 Server , لكنه يحتاج إلى تنصيب في البعض األخر Windows XP , Windows Vista,Windows ). Seven(7 3 إعداد :عمران صاحل مقدمة يف ASP.NET و سوف نذكر خطوات تنصيب الـ( )IISفي )Windows XP ,Windows Seven (7 ألنهما األكثر استخداما ً في الوقت الراهن . خطوات تنصيب IIS 7.0على ): WINDOWS SEVEN (7 قائمة أبدأ . )a لوحة التحكم . )b البرامج . )c تشغيل مميزات WINDOWSأو إيقاف تشغيلها . )d نقوم بعمل اختيار على Internet Information Servicesو كل ما بداخلها . )e ننقر على زر موافق و سوف تحمل الملفات الخاصة و بعد اكتمال التحميل يصبح )f الجهاز ملقما ً (سيرفر ويب) . مالحظة في WINDOWS SEVENال نحتاج حتى إلى إدخال قرص نظام التشغيل خطوات تنصيب IIS 5.0على : WINDOWS XP أدخل قرص نظام التشغيل . WINDOWS XP )a قائمة أبدأ . )b لوحة التحكم . )c إضافة و إزالة البرامج . )d إضافة و إزالة مكونات . WINDOWS )e نقوم بعمل اختيار على خدمات معلومات اإلنترنت (. )IIS )f ننقر على زر التالي و سوف تحمل الملفات الخاصة و بعد اكتمال التحميل يصبح )g الجهاز ملقما ً (سيرفر ويب) . مالحظة بعد إتمام تنصيب ( IIS ) Internet Information Servicesيتكون مجلد في القرص C اسمه Initpubفيه مجموعة من المجلدات ،سوف ينصب اهتمامنا حول المجلد wwwroot والذي سنضع فيه مجلدات المشاريع التي نصممها . و الختبار إتمام تحميل IISبنجاح نقوم بتشغيل المتصفح وكتابة localhostثم نضغط على ، Enterفإذا قام المتصفح بفتح صفحة ترحيبية خاصة بالـ( )IISمثل ما تظهر في أحد 4 إعداد :عمران صاحل مقدمة يف ASP.NET الصورتين التاليتين ( ،)2( ، )1فان ذلك يعني نجاح عملية تحميله و إال فهنالك خلل أو نقص في تحميل الـ(. )IIS الصورة ( )2تظهر عند حتميل IIS 5.0 الصورة ( )1تظهر عند حتميل IIS 7.0 بعض مميزات برمجة الويب في : ASP.NET تشبه تطبيقات ويب في ASP.NETإلى حد كبير تطبيقات WINDOWSالمشهورة .1 بسهولتها ،إذا تتولى VBأو C#أو C++.NETإدارة الملفات في الملقم – السيرفر- تلقائيا ً و ال نحتاج إلى ذكر ذلك بشكل صريح في الشفرة . إمكانية ما تقدمه بيئة الدوت نت من برمجة السحب و اإلفالت ()DRAG AND DROP .2 موجود في بناء الصفحات في تطبيقات . ASP.NET تصميم الواجهة لما يدعى ما تراه هو ما تحصل عليه ) ) WYSIWYGوالتي هي .3 اختصار لـ ). (WHAT YOU SEE IS WHAT YOU GET يمكن تطويرها بأكثر من لغة عالية المستوى مثل C++.NET,C#,VB.NETفي نفس .4 المشروع . تدعم لغة التوصيف . XML .5 تدعم ASP.NETالبرمجة الموجهة نحو الهدف (البرمجة الكائنية ) . OOP .6 توفر ASP.NETالكثير من أدوات التحكم Server Controlsوالتي تحوي بدورها .7 الكثير من الخصائص و األحداث – ما يجعل البرمجة ضمنها أكثر دقة و سهولة من غيرها من لغات برمجة الويب التي تلقي بمعظم ذلك على عاتق المبرمج . كما أن هناك العديد من المميزات األخرى التي ال يتسع المجال لذكرها . 5 إعداد :عمران صاحل مقدمة يف ASP.NET للمطور : ّ تنفيذ أول مشروع ASP.NETو شرح النوافذ التي تظهر )Aننقر على إيقونة فيجوال ستديو 2002من سطح المكتب ،أو من قائمة أبدأ ثم كافة البرامج ومن قائمة البرامج نختار Microsoft Visual Studio 2008ثم Microsoft Visual . Studio 2008 )Bمن نافذة فيجوال ستديو 2002التي تظهر نختار القائمة Fileثم … New Web Site )Cتظهر لك نافذة New Web Site 6 إعداد :عمران صاحل مقدمة يف ASP.NET من النافذة السابقة ( )New Web Siteنفصل ما رقـمـناه فيها : )1نختار نوع التطبيق و هنا اختارنا ASP.NET Web Site وهو النوع الذي نختاره لبناء صفحات الويب و هو نوع الذي غالبا ما يختار ،و هنالك أنواع أخرى مثل : أ ASP.NET Web Service -و هي تطبيقات تبني خدمات ويب و سوف نشرحها في دروس الحقة . ب Empty Web Site -وهو تطبيق ويب فارغ نبنيه حسب ما نريد . ت WCF service -و هو تطبيق لبناء خدمات WCFو سوف نشرحه في دروس الحقة . ث ASP.NET Reports Web Site -و هو تطبيق يعمل على عرض تقارير من قواعد البيانات على صفحات الويب و هذا النوع من التقارير من نوع تقارير الدوت نت (. )Report Viewer ج ASP.NET Crystal Reports Web Site -و هو تطبيق يعمل على عرض تقارير من قواعد البيانات على صفحات الويب و هذا النوع من التقارير من نوع تقارير ( . )Crystal Report : Location )2ومن هذه القائمة نختار موضع تخزين المشروع و أي IISسوف ينفذ المشروع ،في هذه القائمة عدة قيم هي : أ : File System -وفي حال اختيار هذا العنصر فإنه سوف ينفذ المشروع عن طريق الـ( )IISالموجود ضمن الـ( )Visual Studioو ليس ما تم تحميله من لوحة التحكم ،و من هذا فانه يمكن تخزين المشروع في أي مكان في الجهاز وعند تنفيذ المشروع فان الـ( )IISالموجود في الـ( )Visual Studioينشئ مسار افتراضي في ال . localhost ب : HTTP -في حال اختيار هذا العنصر فإنه سوف ينفذ المشروع عن طريق الـ) ) IISالذي نزلناه من قرص نظام التشغيل و الذي شرحنا خطوات تنصيبه سابقا ً و في حال اختياره فانه يجب تخزين المشاريع في ال localhostكما في التالي : http://localhost/website1هذا يعني أن المشروع سوف يخزن C:\inetpub\wwwrootالذي تكلمنا عنه سابقا ً . ت : FTP -وهذا يعني تكوين تطبيقات تتعامل مع السيرفر و تسمح بتناقل الملفات من و إلى السيرفر . مالحظة قامت MICROSOFTبإدراج IISمحلي ضمن بيئة الدوت نت و ذلك كي يتسنى لنا تنفيذ مشاريع الـ ( ) ASP.NETحتى و إن لم نقم بتنزيل الـ( )IISمن قرص نظام التشغيل ،وهذا ما لم يكن ممكنا ً في إصدارات ASPالسابقة قبل إنتاج تقنية الدوت نت . 7 إعداد :عمران صاحل مقدمة يف ASP.NET : Language )3و عن طريق هذه القائمة نقوم باختيار اللغة التي سوف نكتب – نبرمج - بها تطبيقات ASP.NETهذه اللغة قد تكون VB.NETأو C#أو C++.NETأو J#أو أي لغة تضاف إلى لغات الدوت نت. :Browse )4ومن هذا الزر نستعرض لنحدد األقراص والمجلدات التي سوف نحفظ فيها المشروع. : OK )5بعد النقر على هذا الزر يتم تكوين مشروع حسب اإلعدادات المحددة في النقاط السابقة . نكمل بقية خطوات إنشاء أول مشروع )Dتظهر لدينا الواجهة التالية :و التي هي الواجهة الرئيسية لبناء لتطبيقات ASP.NET -سوف تشرح مكوناتها بعد شرح و تنفيذ هذا المثال -نختار من القائمة ToolBox الجانبية المحددة بالرقم واحد األداتين Textboxو Buttonالمحددتين بالرقم اثنين لتظهر األداتين في جسم الصفحة كما هو محدد الرقم ثالثة . نقوم بالنقر على األداة Buttonنقرتين لتظهر لنا صفحة الكود التالية نكتب فيها الرسالة الترحيبية الشهيرة التي تبدأ بها معظم كتب البرمجة !. Hello world VB.NET 8 إعداد :عمران صاحل مقدمة يف ASP.NET C# و اآلن جاء وقت التنفيذ ،نقوم بتنفيذ أول مشروع عن طريق المفتاح F5أو من Debugثم Start Debuggingلتظهر أمامك النافذة التالية ما المقصود بالخيارين السابقين ؟ الخيار األول :يعني هل تسمح للغة بعمل تنقيح Debugفي حال حدوث خطأ في الصفحة .أي إذا حدث خطأ في الصفحة فإن اللغة تتدخل وتظهر رسالة صفراء على سطر الكود الذي فيه الخطأ ،و يتم السماح للغة بعمل ذلك عن طريق تعديل الملف . Web.config الخيار الثاني :يعني أنه يتم التنفيذ من غير تنقيح من اللغة و لذا فإذا حدث أي خطأ في الصفحة فان اللغة ال تتدخل و تظهر صفحة خطأ . سوف نختار الخيار األول و هو الخيار المفضل ،بعد ذلك تنفذ الصفحة ويعمل المتصفح و تظهر الصفحة عليه . يظهر في الصفحة الزر و مربع النص و في حال النقر على الزر يظهر في مربع النص الرسالة الترحيبية كما في التالي . و بذا نكون قد نفذنا أول مثال في . ASP.NET 9 إعداد :عمران صاحل مقدمة يف ASP.NET مكونات صفحات : ASP.NET تنقسم صفحة ASP.NETفي تطبيقات الويب إلى ملفين : )1ملف الواجهة (الصفحة الواجهة ) :وهي الجزء المرئي من صفحة ASP.NETو تبنى هذه الصفحة بلغة XHTMLو تحمل الصفحة االمتداد – الالحقة .ASPX - مالحظة يمكن أن تحوي هذه الصفحة على شفرات بلغة تعمل ضمن المستعرض مثل ،VBSCRIPT ، JSCRIPT ، JAVASCRIPTأو أكواد تنسيق الصفحات مثل . CSS هذه الصورة توضح الواجهة لملف ASP.NET )2ملف الشفرة التي تعمل ضمن الملقم – السيرفر – هذه الشفرة قد تكون بلغة VB وبالتالي يحمل هذا الملف االمتداد ،.aspx.vbو إذا كانت الشفرة بلغة C#فان هذا الملف يحمل االمتداد .aspx.cs مالحظة يمكن دمج ملف الواجهة و ملف شفرة VB.NETأو C#في ملف واحد . هذه صورة الملف التي يحتوي على شفرة VB VB.NET و إذا كنت تعمل على C#فهذا هو ملف شفرة C# C# 01 إعداد :عمران صاحل مقدمة يف ASP.NET شرح واجهة بيئة : ASP.NET تتكون واجهة بيئة ASP.NETمن المكونات المرقمة في الصورة التي في أعاله : : Solution Explorer.1هذه النافذة تحدد الملفات المكونة للمشروع فمثالً المشروع الحالي المعروض في الصورة السابقة مكون من الملفات و المجلدات التالية : : App_Data و هو مجلد في المشروع عاد ًة نضع فيه قواعد البيانات. : Default.aspx و هو ملف الواجهة المرئية لصفحة ASP.NETو يتفرع منه ملف الشفرة -الكود – لهذه الصفحة Default.aspx.vbأو . Default.aspx.cs : Web.config وهو ملف XMLيحتوي على إعدادات المشروع الذي تصممه(الموقع الذي تصممه) من تنقيح و صالحيات و تحقق وغيره. 00 إعداد :عمران صاحل مقدمة يف ASP.NET : Toolboxهذه نافذة تحتوي على األدوات التي نرغب بإضافتها إلى الموقع ،هذه .2 األدوات مقسمة في مجموعات منطقية (فئات) . : Propertiesهذه النافذة تعرض خصائص األدوات أو العناصر -الوسوم - .3 المحددة . : Default.aspx.vbهذا هو الملف الذي نكتب فيه شفرة VBأو يكون اسم هذا .4 الملف Default.aspx.csفي حال كانت الشفرة بلغة . C# : Default.aspxهذا هو ملف الواجهة لصفحة الويب ،الحظ الصفحة .5 المعروضة أمامك و التي فيها زر و مربع نص ،و كما أسلفنا سابقا ً هذا الملف مكتوب – مصمم -بلغة . XHTML مالحظة أين شفرة XHTMLالمصممة لصفحة الواجهة و كيف يمكن الوصول إليها ؟ لإلجابة على هذا السؤال أعلم عزيزي القارئ أن ملف الواجهة Default.aspx يمكن عرضه بثالثة طرق ،هذه الطرق هي Designو Splitو Sourceالمحددة في الصورة السابقة باألرقام ستة و سبعة و ثمانية . : Design.6و في هذا الوضع من العرض فإن الصفحة تعرض في بيئة Visual Studioكما سوف تعرض على المتصفح ،أي أننا ال نرى كود XHTML المصمم للصفحة و إنما الصفحة الناتجة في حال تنفيذ هذا الكود . يميز هذه الوضع من العرض أنه يمكن أن تصمم الصفحة بشكل مرئي و كأنك تستخدم برنامج ) (Wordأو برنامج ( ) FrontPageوال تحتاج إلى كتابة كل تلك الكمية الهائلة من أكواد ، HTMLأنت تقوم بسحب األدوات و اإلفالت في الصفحة و عمل التنسيقات يدويا ً عن طريق النوافذ المعدة لذلك و المعالج هو من يتولى كتابة الشفرات بدالً عنك . الوضع الذي تراه في الصورة السابقة هو الوضع . Design : Split.7هذا الوضع يمكن الدخول إليه عن طريق النقر على زر splitأسفل الصفحة ،هذا الوضع من العرض يعرض الصفحة على قسمين قسم يعرض الصفحة كما في الوضع Designو قسم أخر يعرض شفرة XHTMLالمصممة للصفحة ،يمكنك سحب األدوات و إفالتها في أيا ً من القسمين أو كتابة كود XHTMLإذا أردت ذلك . مالحظة للعمل مع ASP.NETيجب أن تكون لديك معرفة جيدة بلغة الوسوم ، HTMLكما يفضل وجود معرفة بالـ( . )XHTML 02 إعداد :عمران صاحل مقدمة يف ASP.NET هذه صورة توضيحية للعرض في النمط Split : Source.2في هذا الوضع يعرض لنا كود XHTMLالمكون والباني للصفحة ، يمكنك أن تحرره إذا كانت لديك المعرفة الكافية ب XHTMLو أردت تصميم الصفحة عن طريق كتابة شفرة XHTMLبنفسك ،إذا قمت بسحب أي أداة من صندوق األدوات إلى الصفحة و كان وضع العرض هو sourceفال تتوقع أن تضاف األداة نفسها ضمن الكود و لكن سوف تضاف شفرة إضافة األداة إلى شفرة تصميم الصفحة . هذه صورة توضيحية للعرض في النمط Source 03 إعداد :عمران صاحل مقدمة يف ASP.NET إنشاء مشروع ويب متعدد النماذج نحن نعلم جميعا ً أن معظم مواقع الويب تتكون من أكثر من صفحة واحدة . كيف يمكن إضافة صفحات ASP.NETأخرى أو صفحات HTMLإلى المشروع ؟ عن طريق قائمة websiteنختار البند … Add New Itemفتظهر لنا نافذة نختار منها Web Formإذا أردت إضافة صفحة ASP.NETأو نختار HTML Page إذا أردت إضافة صفحة . Html عن طريق بالنقر بزر الفأرة األيمن على اسم المشروع في نافذة Solution Explorerلتظهر لنا قائمة نختار منها … Add New Itemفتظهر لنا نافذة نختار منها Web Formإذا أردت إضافة صفحة ASP.NETأو نختار HTML Page إذا أردت إضافة صفحة . Html 04 إعداد :عمران صاحل مقدمة يف ASP.NET عناصر التحكم في بيئة ASP.NET يوجد في تقنية ASP.NETنوعين من األدوات – من حيث مكان عمل شفراها : - النوع األول :عناصر تحكم ملقم ويب Web Server Controls تعمل هذه األدوات ضمن الملقم –السييرفر -ذليك ألن شيفرة هيذه األدوات بلغية VBأو C#أو ... الييخ التييي ال يسييتطيع المتصييفح ترجمتهييا ،هييذا يعنييي أنييه عنييد حييدوث أي حييدث ألي ميين هييذه األدوات ،و كان هنالك شفرة – كود -معالجة لهذا الحدث ،فان الصيفحة ترسيل إليى السييرفر لمعالجة الحدث ثم العودة من الملقم بصفحة جديدة فيها التعديالت ،تسيمى تينقالت الصيفحة بيين السييرفر و المتصيفح بيالجوالت اليدوارة ) ، (round trip to serverتجيد هيذه العناصير فيي معظم األقسام (الفئات ) داخل صندوق األدوات Toolboxأهمها القسم . Standard و سوف نذكر تفاصيلها بعد شرح عناصر تحكم . HTML مالحظة توفر عناصر تحكم ملقم ويب أحداث و طرق و خصائص أكثر مما توفره عناصر تحكم ، HTMLلكن تظل أقل مما توفره عناصر تحكم . WINDOWS النوع الثاني :عناصر تحكم : HTML تعالج هذه األدوات ضمن المتصفح (في جهاز العميل ) ،أي أن المتصفح هو من ينفذ شفرات معالجة أحداثها ،تكتب شفرات معالجة أحداث هذه األدوات بلغات مثل JavaScriptو Jscript ،يمكن إضافة هذه األدوات إلى الصفحة عن طريق القسم HTMLالموجود في صندوق األدوات ،Toolboxتكمن الفائدة من هذه األدوات في توفير الوقت حيث أن الجوالت الدوارة إلى الملقم -السيرفر -عند تنفيذ شفرات أدوات ملقم ويب تزيد من وقت تنفيذ الشفرة (تؤخر تنفيذ الشفرة ).و الصفحات التالية شرح لهذه العناصر . 05 إعداد :عمران صاحل مقدمة يف ASP.NET وهذا شرح بسيط لعناصر تحكم HTML مالحظة سوف يتم ذكر عناصر HTMLبشكل سريع على افتراض أنك تملك معرفة جيدة بلغة الوسوم HTMLوال تحتاج إلى ذكر تفاصيلها ،فإذا ألبس عليك أيا ً منها ،أو خاصية من خصائص أحداها فقم بمراجعة كتب شرح HTMLلتوضيحها . عناصر الوسم Input و هي مجموعة من األدوات تضاف إلى الصفحة من القسم HTMLفي صندوق األدوات ، Toolboxيمكنك مالحظة أن أسماءها تبدأ بالكلمة ، Inputوسم إظهار كل هذه العناصر هو الوسم > (border="3" align="left" class="style1" / Select تستخدم إلدراج قائمة مثل ComboBoxو ListBoxفي صفحة االنترنت وله مجموعة من الخواص أهمها : تحدد االسم البرمجي لألداة ،كما تستخدم لعمل تنسيق . CSS Id تحدد االسم البرمجي لألداة . Name تحدد أن القائمة تقبل تحديد أكثر من عنصر في نفس الوقت .و تأخذ القيمة Multiple multiple تحدد عدد العناصر الظاهرة في األداة . Size هذة الخاصية موجودة بالنسبة للوسم > . " Welcome زيتون للصفحةRender و هذا هو جزء فقط من الوسم المقابل لألداة في الصفحة بعد عمل. نالحظ أن األداة مكونها الرئيس هو جدول 012 إعداد :عمران صاحل مقدمة يف ASP.NET األداة RadioButtonList تستخدم األداة RadioButtonListفي إظهار قائمة من أزرار الراديو RadioButtonsمع بعضها البعض و التعامل معها كمجموعة ،بشكل أوضح هي قائمة كل عنصر (بند ) فيها عبارة زر راديو . RadioButton يمكن استخدام الخاصية selectedItemلمعرفة هل العنصر محدد أم ال ،و لمعرفة فهرس العنصر نستخدم الخاصية ، SelectedIndexألم تالحظ أنه ال نحتاج إلى المرور في حلقة لمعرفة العناصر المحددة كما كان في ، CheckBoxListأحرز لماذا ؟ . هذه صورة األداة RadioButtonListفي صندوق األدوات . Toolbox و هذه صورة األداة RadioButtonListفي صفحة . ASP.NET أهم الخصائص في األداة RadioButtonList إضافة إلى الخصائص المشتركة بين كل األدوات التي من نوع قائمة Listsهنالك مجموعة من الخصائص التي الموجودة في األداة RadioButtonListأهمها : RepeatDirectionو تحدد اتجاه عرض عناصر القائمة ،تأخذ هذه الخاصية إحدى قيمتين : : RepeatDirection.Vertical )1تعني أن عناصر القائمة تظهر عموديا ً ،و هي القيمة االفتراضية . ً : RepeatDirection.Horizontal )2تعني أن عناصر القائمة تظهر أفقيا . وتحدد طريقة عرض القائمة ،تأخذ هذه الخاصية إحدى قيم : RepeatLayout : RepeatLayout.Table )1تظهر القائمة على شكل جدول ،هي القيمة 013 عمران صاحل: إعداد ASP.NET مقدمة يف. االفتراضية. تظهر القائمة على بدون جدول: RepeatLayout.Flow )2. تظهر القائمة في شكل تعداد نقطي: RepeatLayout.UnorderedList )3. تظهر القائمة في شكل تعداد رقمي: RepeatLayout.OrderedList )4. تضبط و تعيد عدد األعمدة التي في القائمةRepeatColumns : تضبط و تعيد محاذاة النص الخاص بخانة االختيار و تأخذ إحدى القيمتين التاليتين TextAlign. Left أوRight تضبط و تعيد المسافة بين خانة االختيار و خاليا الجدول التي تحوي خانات االختيار CellPadding. مقدرة بالبكسل تضبط و تعيد المسافة بين خاليا الجدول التي تحوي خانات االختيار مقدرة بالبكسل CellSpacing مثــــال و مربع نصButton و زرRadioButtonList فيها األداةASP.NET ليكن لديك صفحة نص العنصرTextBox يظهر في مربع النصButton عند النقر على الزرTextBox. RadioButtonList (البند) المحدد من القائمة اإلجابة VB.NET Partial Class Default4 Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = RadioButtonList1.SelectedItem.Text End Sub End Class C# using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default2 : System.Web.UI.Page { protected void Button1_Click(object sender, EventArgs e) { TextBox1.Text = RadioButtonList1.SelectedItem.Text; } } 014 عمران صاحل: إعداد ASP.NET مقدمة يف لكن هذا، ألم تالحظ أننا لم نحتاج إلى حلقة للمرور على عناصر (بنود) القائمة كلها و اختبارها سوف يقومCheckBoxList و إذا قمنا بذلك مع القائمة، CheckBoxList ال يجدي مع القائمة. يترك تنفيذ ذلك كتمرين للقارئ، CheckBoxList بإرجاع أول عنصر (بند) محدد من القائمة مثــــال عند النقر على، Button و زرRadioButtonList فيها األداةASP.NET ليكن لديك صفحة و يصبح نص، على شكل تعداد رقميRadioButtonList تظهر األداةButton الزر. "العنصر (بند) من القائمة هو "هذا عنصر جديد اإلجابة VB.NET Partial Class Default4 Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click RadioButtonList1.RepeatLayout = RepeatLayout.OrderedList RadioButtonList1.SelectedItem.Text = ""هذا عنصر جديد End Sub End Class C# using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default3 : System.Web.UI.Page { protected void Button1_Click(object sender, EventArgs e) { RadioButtonList1.RepeatLayout = RepeatLayout.OrderedList ; RadioButtonList1.SelectedItem.Text = ";"هذا عنصر جديد } } 015 عمران صاحل: إعداد ASP.NET مقدمة يف default.aspx في صفحةRadioButtonList و هذا هو وسم إظهار األداة للصفحةRender و هذا هو جزء فقط من الوسم المقابل لألداة في الصفحة بعد عمل. نالحظ أن األداة مكونها الرئيس هو جدول 016 إعداد :عمران صاحل مقدمة يف ASP.NET األداة ListBox هي أداة تحكم تظهر على شكل قائمة مفتوحة في صفحة . ASP.NET تسمح عناصر التحكم هذه بعمليات اختيار أحادية لعناصر (بنود ) القائمة ، ListBoxأو بعمليات اختيار متعددة لعناصر (بنود ) القائمة . ListBox تستخدم الخاصية SelectionModeلتحديد نوع التحديد في القائمة و تأخذ أحدى قيمتين: : Singleإذا أردنا أن يكون نوع التحديد أحادي . : Multipleإذا أردنا أن يكون نوع التحديد متعدد . تستخدم الخاصيتين SelectedItemو SelectedIndexلتحديد العنصر المحدد و فهرس العنصر المحدد على الترتيب في القائمة ListBoxفي حال كانت طريقة التحديد في القائمة أحادية لعناصر القائمة . لكن تذكر أنه في حال وجود اختيار متعدد لعناصر القائمة ListBoxتعيد هذه الخاصية العنصر المحدد و فهرس العنصر المحدد صاحب أقل فهرس ،إذاً كيف يمكن معرفة جميع العناصر المحددة القائمة متعددة االختيار ؟ لمعرفة جميع العناصر المحددة في القائمة متعددة االختيار تحتاج إلى حلقة تمر فيها على العناصر (بنود ) و تختبر الخاصية selectedلمعرفة هل العنصر محدد أم ال ،ستتضح الجملة السابقة أكثر مع األمثلة القادمة . أهم أحداث هذه األداة هو الحدث . SelectedIndexChanged هذه صورة األداة ListBoxفي صندوق األدوات . Toolbox و هذه صورة األداة ListBoxفي صفحة . ASP.NET 017 عمران صاحل: إعداد ASP.NET مقدمة يف ListBox أهم الخصائص في األداة هنالك مجموعة منLists إضافة إلى الخصائص المشتركة بين كل األدوات التي من نوع قائمة : أهمهاListBox الخصائص التي الموجودة في األداة و تأخذ إحدىListBox تضبط و تعيد نمط االختيار في مربع القائمة SelectionMode : قيمتين. تجعل القائمة تسمح باختيار أحادي: Single.1. تجعل القائمة تسمح باختيار متعدد: Multiple.2 ListBox أهم أحداث في األداة : إضافة إلى األحداث المشتركة هناك حدث مشترك بين القوائم مهم هو. يقع عند تغيير العنصر المختار في القائمة SelectedIndexChanged مثــــال ، Two Buttons و زرينTwo ListBoxes فيها أداتي قائمةASP.NET ليكن لديك صفحة و بعد تحديدك، متعدد التحديدListBox تصبح األداةButton1 عند النقر على الزر األول يقوم بنقل األولى إلى الثانية بشكلButton2 لعدة بنود من القائمة و النقر على الزر الثاني. معكوس اإلجابة VB.NET Partial Class Default8 Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox1.SelectionMode = ListSelectionMode.Multiple End Sub Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1 If ListBox1.Items(i).Selected = True Then ListBox2.Items.Add(ListBox1.Items(i).Text) ListBox1.Items.RemoveAt(i) End If Next End Sub End Class 018 عمران صاحل: إعداد ASP.NET مقدمة يف C# using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default7 : System.Web.UI.Page { protected void Button1_Click(object sender, EventArgs e) { ListBox1.SelectionMode = ListSelectionMode.Multiple ; } protected void Button2_Click(object sender, EventArgs e) { for (int i = ListBox1.Items.Count - 1 ; i >= 0 ; i--) { if (ListBox1.Items[i].Selected == true) { ListBox2.Items.Add(ListBox1.Items[i].Text); ListBox1.Items.RemoveAt(i); } } } } default.aspx في صفحةListBox و هذا هو وسم إظهار األداة للصفحةRender و هذا هو الوسم المقابل لألداة في الصفحة بعد عمل 019 إعداد :عمران صاحل مقدمة يف ASP.NET >""برمجة مرئية"="برمجة إجرائية"="تقنية ويب"="قواعد بيانات"="شبكات"= 003 إعداد :عمران صاحل مقدمة يف ASP.NET 004 إعداد :عمران صاحل مقدمة يف ASP.NET الفهـرس رقم الصفحة الموضوع 1 ما هي ASP.NET 2 المتطلبات الواجب توافرها في الملقم لتشغيل صفحات ASP.NET 3 خطوات تنصيب IISعلى Windows 7 3 خطوات تنصيب IISعلى Windows XP 6 تنفيذ أول مشروع ASP.NET 10 مكونات صفحات ASP.NET 14 إنشاء مشروع متعدد النماذج 15 عناصر التحكم في بيئة ASP.NET 15 عناصر تحكم ملقم ويب 15 عناصر تحكم HTML 25 Documnt 26 تنسيقات الصفحة 33 توضع األدوات في الصفحة 37 الصنف ( الفئة ) Page 40 Rendering 42 األداة Button 50 األداة TextBox 56 األداة Label 52 األداة Literal 60 األداة CheckBox 64 األداة RadioButton 67 األداة HyperLink 71 األداة LinkButton 005 عمران صاحل: إعداد ASP.NET مقدمة يف 75 Image األداة 72 ImageButton األداة 22 PlaceHolder األداة 25 Panel األداة 90 Calendar األداة 96 القوائم 92 CheckBoxList القائمة 103 RadioButtonList القائمة 106 ListBox القائمة 111 DropDownList القائمة 115 الفهرس 006