عبد الله الساهر
Dec 2005, 10:28 PM
إن كنت ممن سمعوا عن الإصدارة الجديده من ASP.NET والتي تدعى بالاسم الكودي لها وهو Whidbey أو كنت ممن علموا بأن لا Whidbey قبل ربيع 2004 فأنا أراهن على أن الشوق والحنين لها يزداد يوماً بعد يوم، في هذا المقال الرومانسي نوعاً ما سأزيد من حنانك لتلك الحسناء فأحدثك أكثر فأكثر عنها .
ماهي Whidbey ؟
Whidbey كلمة تتكون من سبعة حروف انجليزيه و ليس لها معنى حتى في قاموس Oxford للغة الإنجليزيه. لكنها تحمل معنى ً كبير في قاموس منتجات مايكروسفت فهي تحمل راية جديدة لأصدارة جديده من بيئة تطوير VisualStudio .NET (2004)، Whidbey هذه ستقطع شوطاً كبيرا في عالم التطبيقات سواء السطح مكتبية منها أو التي تعتمد على الويب ولله الحمد و المنه فـ ASP.NET سيكون لها نصيب الأسد من البيئة الجديده Whidbey.
كما ذكرت آنفا أن أول نسخة تجريبية من ASP.NET Whidbey Beta 1 ستكون في ربيع السنة الحالية (بإذن الله ) و في الوقت الحالي لا يوجد سوى نسخة عرض أولية Alpha والتي وزعت على حضور مؤتمر PDC 2003
من الآن حتى الربيع !
سؤال عابر يجول في ذهنك الآن وهو " لماذا نكتب عن Whidbey منذ هذه اللحظه ؟ " حسناً، في الحقيقة لم أتقاضى شيئاً من مايكروسوفت مقابل هذا المقال ولكن لا أريد أن ألدغ من نفس الجحر مرتين. فالكثير الكثير من المطورين العرب لم ينتقلوا حتى الان الى بيئة تطوير .NET ، ليس السبب في ذلك عدم مقدرتهم على الانتقال، بل السبب الرئيسي هو الرهبة من .NET والإيمان الكامل بأن الاصدارات القديمة التي لايزالون يعملون عليها تفي بأغراضهم و احتياجتهم. بل الأدهى من ذلك أن البعض بدأ يدافع عن الاصدارات القديمة و كأنها تمد اليه بصلة، فكيف حصلت هذه الرهبة ؟ قامت شركة مايكروسوفت بنشر مقالات عديدة و تفصيلية عن البيئة الجديده(.NET) التي يتم التحضير لها قبل طرحها في الأسواق،وكان الهدف الرئيسي وراء ذلك هو إعطاء المطورين على مستوى العالم فكرة عامة و نظرة شاملة عن مستقبل تطبيقاتهم ، ولكن للأسف فالكثير منا لم يتعب عينيه الجميلتين في قراءة ولو سطر واحد من تلك المستندات – وقد كنت منهم الى حد ما- حتى جاءت الكارثه Microsoft Visual Studio.NET، يا إلهي إنه لخيال، وبدأت أصوات المطورين ترتفع " مقلب، هراء، تسويق ...الخ" وبدأو يرمون العتاب على عاتق شركة مايكروسوفت و لم يسألو أنفسهم " أين كنت عن تلك المستندات ؟ ". لا أزال أذكر تعابير وجهي التي اعتراها الخوف والتردد في يوم المطورينDev/Day التي نظمته مايركروسوفت لتدشين VisualStudio.NET فبينما كنت أخطي أول خطواتي في عالم تطبيقات الويب باستخدام ASP 3.0 فإذا بي أرى شيئاً من كوكب آخر يدعى ************************Forms يرتكز على مصلح جديد .NET Framework، أدوات لم لكن لأحلم بها، و مبدأ مخلتف بالكلية و مكثت فترة طويلة اتطلخ بأمواج التردد الى أن وصلت الى بر الأمان .NET، و أنا الآن لا أريد أن أعاود الكرة فأقع في نفس الورطه لذا فأنا أسخر وقتا للتحضير للنسخة الجديده والتي لن تكون بعيدة بالكلية عن سابقتها و إنما ستقدم لنا تطورات جديده.
عزيزي، من الجدير بالذكر أن مقالي هذا لا يعتبر الا تذكرة سفر للإصدارة الجديده، لأن الحديث عن هذه الاصدارة يحتاج لوقت طويل و إلا لما كان كتاب A First Look at ASP.NET v2.0 يتعدى المائتي صفحه !
ما من مشكلة في ASP.NET 1.X .
لا توجد تلك المشاكل الكبيرة أو الجمة التي تجعلك تقف حائراً أمامها في الاصدارات السابقة من ASP.NET ولكن بالمقابل توجد تحسينات و تطويرات كبيرة في الإصدارة Whidbey.
في الحقيقة دائما يعتبر المطورين الذين يستخدمون منتجات Microsoft مثل VisualStudio أكثر راحة من غيرهم فتنقية الـ Drag & Drop تحجز مكانة كبيرة في VS.NET ولو أنك أحيانا تحتاج لأن تتعب أصابعك قليلا بكتابة بعض الشيفرات، ولا أشك أن لم تشعر بتك الراحة. ولكن مهلاً فـ Whidbey تقول لك ( تدلل ) لأنها ستخفض عدد سطور شيفراتك المصدرية بنسبة 75% صعبة التخيل، أليس كذلك ؟
الجديد في ASP.NET 2
لكي أجعلك تزداد شوقاً على شوق سأبدأ بطرح الميزات التي ستقدمها لك ASP.NET Whidbey.
إن كنت قد توقفت عن قراءة مقالي هذا و ذهبت الى الموقع الرسمي لـ ASP.NET و بحثت عن Whidbey فسوف تفاجأ بمصطلحات غريبة نوعا ما ( Themes, MasterPages, SiteNavigation, Security Controls ) هذه المصطلحات عزيزي هي من أبرز الـمستجدات على ASP.NET، لست بصدد أن أسلط الضوء على صفة واحدة منها و لكن سوف أعطي فكره عامه عن كل منها ما استطعت ذلك.
Master Pages
منذ أن بدأت في تصميم المواقع و أنا أتذمر من عمل واجهة واحدة لجميع صفحات الموقع، فكنت أستخدم الطريقة المعروفة Include في صفحات ASP 3.0 ومن ثم تطور بس الحال فأصبحت أستخدم ************************ User Controls في زمن ASP.NET و لكنها نوعا متعبة -و ان كانت تروق لي بعض الشئ – فعلى كل صفحة من صفحات تطبيقنا المصون نتاج لإداج أدواتنا المصونه، ولكن انتبه فيجب أن تكون الأدوات في نفس المكان بالضبط ( بالملمتر ) على كل الصفحات بالإضافة الى أنها تحتاج بعض المعرفة في تصميمها. بكملة أو بأخرى نحن نحتاج لأن يكون لدينا قالب واحد لكل صفحات الموقع يحوي على الأجزاء المتكرره مثل القوائم و الوصلات .. الخ. و يكون أسهل في علمية التطوير.
ولله الحمد يبدو أن فريق تطوير ASP.NET قد سمع ندائتنا أو بالأحرى أراد أن يدللنا زياده، فقام بإضافة خاصية جديدة لـ ASP.NET 2 ألا وهي Master Page (صفحات الأدوات الرئيسية) فباستخدامها تستطيع انشاء قالب واحد لجميع صفحات مشروعك، وما عليك سوى تغير المحتوى لكل صفحة عن طريق استخدام أداة ************************************************** ******PlaceHolder، بقي أن أقول لك أن صفحة الأدوات هذه MasterPage هي عبارة عن صفحة ASP.NET تستطيع رسم القالب الخاص بموقعك عليها ولكنها بامتداد master ( انظر الشكل التالي )
[فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات]
( في المقالات القادمة بإذن الله سأتكلم عنها بتعمق)
Themes & Skins
صدق القائل " إرضاء الناس غاية لا ترجى" و ذلك نظرا لاختلاف الأذواق التي يعود اختلافها الى اختلاف البيئات المحيطه والتي هي تقدير العزيز الحكيم، فتصميم قد أعجب به لكنه في نفس الوقت لا يعجبك. لذا لجئت بعض البرامج الى إضافة خاصية تسمى Themes تسمح لك باختيار الأشكال والألوان التي تروق لك و يمكنك أن تلاحظ هذا في MS Windows Media Player كما أنها أصبحت متداوله في الهواتف النقالة، بكلمة أو بأخرى بدأت تأخذ وضعها من حولنا، فآن الأوان لكي تصل هذه الفكرة الى قلوب صفحاتنا كي تتمع بها عيون مستخدمينا.
خاصية Themes التي تقدمها ASP.NET 2.0 ستكون من أهم الصفات التي تختص بالمظهر بالإضافة الى سابتقها. والهدف من Themes هو تسهيل عملية اختيار النمط الذ يروق للمستخدم، كما هي تسمح لك باستخدام نمط معين في صفحة معينه بينما بقية التطبيق يستخدم نمط آخر وهكذا.
عمليا في ASP.NET 2 تنقسم هذه الخاصية الى قسمين Themes و Skin قد لا يكون هناك فرقا كبيرا بالمعنى ولكن Skin هي مجموعة من الخصائص التابعة لأداة معينة مثل لون الخط، حجمه، نوعه .. الخ. أما Theme ( النمط ) فهي مجموعة من Skins التابعة لأدوات مختلفة داخل هذا النمط الواحد.
التعامل معهما سهل جدا فأنت تحتاج الى ملف جديد بامتداد skin تحت مجلد فرعي للمجلد الرئيسي Themes و إاليك المثال التالي:
Themes \ Theme1 \ Theme1.skin
Themes \ Theme2 \ Theme2.skin
الان لدينا نمطين Theme 1 و Theme 2 وبالنظر داخل Theme1 :
<asp:Label SkinID="BoldOne" runat="server"
Font-Bold="True" BackColor="#FFC080" />
<asp:Label SkinID="ItalicOne" runat="server"
Font-Italic="True" Font-Names="Comic Sans MS" />
نجد لدينا ( قشرتين، أعذرني على التعريب الحرفي) 2 Skins الأول اسمه BoldOne والثاني ItalicOne، وعند استخدامه في صفحة ASPX سيكون على النحو التالي:
<%@ Page Theme="Theme1" %>
<form runat="server">
<asp:Label SkinID="ItalicOne" Text="A Label" />
</form>
:
أود أن أذكر بأن هذه الخاصية يمكنك تغيرها في وقت العرض Run-Time كما يمكن ذلك في وقت التصميم Design-Time.
Site Navigation
الان سأنتقل الى خاصية متعلقة بمجموعة أدوات جديده وهي Navigation Controls. كما تشاهد مواقع "هذه الأيام" أصبحت معقدة فهي لا تتكون من صفحة أو اثنان، بل انها تعدت العشرات ان لم تصل الى المئات (كموقع مايكروسوفت الأم) مما يؤدي الى الإصابة بالدوران أثناء تصفحها، لذا فقد لجأ مطورو هذه الصفحات الى عمل ما يسمى بشريط التحليق Navigation Bar الذي يعتمد –غالبا- على روابط تشعبية HyperLinks و لكن هذا الشريط يحتاج الى إعادة في كل صفحه، و تجربه، و تنسيق مما يؤدي الى الملل أحياناً، ولكن أنصحك بأن تجد طريقة دبلوماسية لتودع بها هذا الملل لأنك بمجرد استخدام ASP.NET 2 لن تجده أبدا، فهناك ما يسمى بـ Site Navigation والتي تساعدك على تأدية التحليق على أكمل وجه و بأقصى سرعة. فكل ما عليك هو تعريف محتويات موقعك في ملف XML يحمل اسم app.sitemap ومن ثم إضافة أداة SiteMapDataSource الى الصفحه و ربطها مع احدى أدوات التحليق مثل ( TreeView) واليك المثال ليتضح به المقال:
الخطوه الأولى
<siteMap>
<siteMapNode title="الريسية" description="Home" url="default.aspx" >
<siteMapNode title="ASP.NET"
description=" خاص بـ Asp.NET" url="aspnet.aspx">
</siteMapNode>
</siteMapNode>
</siteMap>
الثانية
<%@ page ************************************************** **************="VB" theme="Smokeandglass"%>
<html>
<body><form runat="server">
<asp:sitemapdatasource id="SiteMapDataSource1"
runat="server"
startingnodetype="Current"
sitemapviewtype="Flat" />
:
الثالثة
<asp:treeview id="TreeView1" runat="server" datasourceid="SiteMapDataSource1" >
</asp:treeview>
</form>
ملاحظه: لن تحتاج لكتابة هذه السطور عندما تستخدم واجهة تطوير Microsoft Visual ************************ Development وهي الابن الجديد في عائلة VisualStudio.NET Whidbey والذي يمكنك من انشاء تطبيقات ASP.NET.
Security Controls
دعني أتحدث الان عن الحماية Security التي كانت موجوده بشكل رائع في الاصدارات السابقة ولعل أبرزها كان ************************ Forms Security ولكنك كنت تضطر لكتابة أسطر لا بأس بها من الشيفرات التي ستودع شكلها الرائع الجميل في ASP.NET 2.0 فـ ASP.NET 2 تقول لك:
· تريد عمل LOGIN (تسجيل الدخول) فما عليك سوى إدراج أداة Login
· تريد اظهار حالة المستخدم، أدرج أداة LoginStatus
· تريد عرض اسم المستخدم أدرج أداة LoginName
· تريد اعادة كلمة السر للستخدم، أدرج أداة PasswordRecovery
الأدوات السابقة تعتمد على ما يسمى بـ Membership API’s والتي يطول الحديث عنها لذا سأخصص لها مقال منفصل.
************************Parts
حاولت مرارا محاكاة تلك الصناديق القابلة للحركة و الازالة الموجوده في موقع Microsoft.com ولكن طالما باءت محاولاتي بالفشل حتى وقت قريب. هذه الصناديق سوف تكون متوفره للجميع في تطبيقات الويب القائمة على ASP.NET 2 ان شاء الله والتي تدعى ************************Parts وهي تندرج تحت ************************site Personalization و تسمح للمستخدم اغلاقها و أو تحريكها من مكان لاخر أو تعديل ما بداخلها ( تروق لي ! )
خاتمة
سطور قليلة جدا تصف بعض ميزات ASP.NET 2 (Whidbey) وربما لا توفي بحقها، ولكن الغرض منها هو اعلامك عنها فقط لا أكثر كي تبدأ بتعلمها فتكون معك لا ضدك.
في المقالات القادمة –ان شاء الله- سيكون لي حديثا تفصيلا عن تلك الميزات و غيرها.
ماهي Whidbey ؟
Whidbey كلمة تتكون من سبعة حروف انجليزيه و ليس لها معنى حتى في قاموس Oxford للغة الإنجليزيه. لكنها تحمل معنى ً كبير في قاموس منتجات مايكروسفت فهي تحمل راية جديدة لأصدارة جديده من بيئة تطوير VisualStudio .NET (2004)، Whidbey هذه ستقطع شوطاً كبيرا في عالم التطبيقات سواء السطح مكتبية منها أو التي تعتمد على الويب ولله الحمد و المنه فـ ASP.NET سيكون لها نصيب الأسد من البيئة الجديده Whidbey.
كما ذكرت آنفا أن أول نسخة تجريبية من ASP.NET Whidbey Beta 1 ستكون في ربيع السنة الحالية (بإذن الله ) و في الوقت الحالي لا يوجد سوى نسخة عرض أولية Alpha والتي وزعت على حضور مؤتمر PDC 2003
من الآن حتى الربيع !
سؤال عابر يجول في ذهنك الآن وهو " لماذا نكتب عن Whidbey منذ هذه اللحظه ؟ " حسناً، في الحقيقة لم أتقاضى شيئاً من مايكروسوفت مقابل هذا المقال ولكن لا أريد أن ألدغ من نفس الجحر مرتين. فالكثير الكثير من المطورين العرب لم ينتقلوا حتى الان الى بيئة تطوير .NET ، ليس السبب في ذلك عدم مقدرتهم على الانتقال، بل السبب الرئيسي هو الرهبة من .NET والإيمان الكامل بأن الاصدارات القديمة التي لايزالون يعملون عليها تفي بأغراضهم و احتياجتهم. بل الأدهى من ذلك أن البعض بدأ يدافع عن الاصدارات القديمة و كأنها تمد اليه بصلة، فكيف حصلت هذه الرهبة ؟ قامت شركة مايكروسوفت بنشر مقالات عديدة و تفصيلية عن البيئة الجديده(.NET) التي يتم التحضير لها قبل طرحها في الأسواق،وكان الهدف الرئيسي وراء ذلك هو إعطاء المطورين على مستوى العالم فكرة عامة و نظرة شاملة عن مستقبل تطبيقاتهم ، ولكن للأسف فالكثير منا لم يتعب عينيه الجميلتين في قراءة ولو سطر واحد من تلك المستندات – وقد كنت منهم الى حد ما- حتى جاءت الكارثه Microsoft Visual Studio.NET، يا إلهي إنه لخيال، وبدأت أصوات المطورين ترتفع " مقلب، هراء، تسويق ...الخ" وبدأو يرمون العتاب على عاتق شركة مايكروسوفت و لم يسألو أنفسهم " أين كنت عن تلك المستندات ؟ ". لا أزال أذكر تعابير وجهي التي اعتراها الخوف والتردد في يوم المطورينDev/Day التي نظمته مايركروسوفت لتدشين VisualStudio.NET فبينما كنت أخطي أول خطواتي في عالم تطبيقات الويب باستخدام ASP 3.0 فإذا بي أرى شيئاً من كوكب آخر يدعى ************************Forms يرتكز على مصلح جديد .NET Framework، أدوات لم لكن لأحلم بها، و مبدأ مخلتف بالكلية و مكثت فترة طويلة اتطلخ بأمواج التردد الى أن وصلت الى بر الأمان .NET، و أنا الآن لا أريد أن أعاود الكرة فأقع في نفس الورطه لذا فأنا أسخر وقتا للتحضير للنسخة الجديده والتي لن تكون بعيدة بالكلية عن سابقتها و إنما ستقدم لنا تطورات جديده.
عزيزي، من الجدير بالذكر أن مقالي هذا لا يعتبر الا تذكرة سفر للإصدارة الجديده، لأن الحديث عن هذه الاصدارة يحتاج لوقت طويل و إلا لما كان كتاب A First Look at ASP.NET v2.0 يتعدى المائتي صفحه !
ما من مشكلة في ASP.NET 1.X .
لا توجد تلك المشاكل الكبيرة أو الجمة التي تجعلك تقف حائراً أمامها في الاصدارات السابقة من ASP.NET ولكن بالمقابل توجد تحسينات و تطويرات كبيرة في الإصدارة Whidbey.
في الحقيقة دائما يعتبر المطورين الذين يستخدمون منتجات Microsoft مثل VisualStudio أكثر راحة من غيرهم فتنقية الـ Drag & Drop تحجز مكانة كبيرة في VS.NET ولو أنك أحيانا تحتاج لأن تتعب أصابعك قليلا بكتابة بعض الشيفرات، ولا أشك أن لم تشعر بتك الراحة. ولكن مهلاً فـ Whidbey تقول لك ( تدلل ) لأنها ستخفض عدد سطور شيفراتك المصدرية بنسبة 75% صعبة التخيل، أليس كذلك ؟
الجديد في ASP.NET 2
لكي أجعلك تزداد شوقاً على شوق سأبدأ بطرح الميزات التي ستقدمها لك ASP.NET Whidbey.
إن كنت قد توقفت عن قراءة مقالي هذا و ذهبت الى الموقع الرسمي لـ ASP.NET و بحثت عن Whidbey فسوف تفاجأ بمصطلحات غريبة نوعا ما ( Themes, MasterPages, SiteNavigation, Security Controls ) هذه المصطلحات عزيزي هي من أبرز الـمستجدات على ASP.NET، لست بصدد أن أسلط الضوء على صفة واحدة منها و لكن سوف أعطي فكره عامه عن كل منها ما استطعت ذلك.
Master Pages
منذ أن بدأت في تصميم المواقع و أنا أتذمر من عمل واجهة واحدة لجميع صفحات الموقع، فكنت أستخدم الطريقة المعروفة Include في صفحات ASP 3.0 ومن ثم تطور بس الحال فأصبحت أستخدم ************************ User Controls في زمن ASP.NET و لكنها نوعا متعبة -و ان كانت تروق لي بعض الشئ – فعلى كل صفحة من صفحات تطبيقنا المصون نتاج لإداج أدواتنا المصونه، ولكن انتبه فيجب أن تكون الأدوات في نفس المكان بالضبط ( بالملمتر ) على كل الصفحات بالإضافة الى أنها تحتاج بعض المعرفة في تصميمها. بكملة أو بأخرى نحن نحتاج لأن يكون لدينا قالب واحد لكل صفحات الموقع يحوي على الأجزاء المتكرره مثل القوائم و الوصلات .. الخ. و يكون أسهل في علمية التطوير.
ولله الحمد يبدو أن فريق تطوير ASP.NET قد سمع ندائتنا أو بالأحرى أراد أن يدللنا زياده، فقام بإضافة خاصية جديدة لـ ASP.NET 2 ألا وهي Master Page (صفحات الأدوات الرئيسية) فباستخدامها تستطيع انشاء قالب واحد لجميع صفحات مشروعك، وما عليك سوى تغير المحتوى لكل صفحة عن طريق استخدام أداة ************************************************** ******PlaceHolder، بقي أن أقول لك أن صفحة الأدوات هذه MasterPage هي عبارة عن صفحة ASP.NET تستطيع رسم القالب الخاص بموقعك عليها ولكنها بامتداد master ( انظر الشكل التالي )
[فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات]
( في المقالات القادمة بإذن الله سأتكلم عنها بتعمق)
Themes & Skins
صدق القائل " إرضاء الناس غاية لا ترجى" و ذلك نظرا لاختلاف الأذواق التي يعود اختلافها الى اختلاف البيئات المحيطه والتي هي تقدير العزيز الحكيم، فتصميم قد أعجب به لكنه في نفس الوقت لا يعجبك. لذا لجئت بعض البرامج الى إضافة خاصية تسمى Themes تسمح لك باختيار الأشكال والألوان التي تروق لك و يمكنك أن تلاحظ هذا في MS Windows Media Player كما أنها أصبحت متداوله في الهواتف النقالة، بكلمة أو بأخرى بدأت تأخذ وضعها من حولنا، فآن الأوان لكي تصل هذه الفكرة الى قلوب صفحاتنا كي تتمع بها عيون مستخدمينا.
خاصية Themes التي تقدمها ASP.NET 2.0 ستكون من أهم الصفات التي تختص بالمظهر بالإضافة الى سابتقها. والهدف من Themes هو تسهيل عملية اختيار النمط الذ يروق للمستخدم، كما هي تسمح لك باستخدام نمط معين في صفحة معينه بينما بقية التطبيق يستخدم نمط آخر وهكذا.
عمليا في ASP.NET 2 تنقسم هذه الخاصية الى قسمين Themes و Skin قد لا يكون هناك فرقا كبيرا بالمعنى ولكن Skin هي مجموعة من الخصائص التابعة لأداة معينة مثل لون الخط، حجمه، نوعه .. الخ. أما Theme ( النمط ) فهي مجموعة من Skins التابعة لأدوات مختلفة داخل هذا النمط الواحد.
التعامل معهما سهل جدا فأنت تحتاج الى ملف جديد بامتداد skin تحت مجلد فرعي للمجلد الرئيسي Themes و إاليك المثال التالي:
Themes \ Theme1 \ Theme1.skin
Themes \ Theme2 \ Theme2.skin
الان لدينا نمطين Theme 1 و Theme 2 وبالنظر داخل Theme1 :
<asp:Label SkinID="BoldOne" runat="server"
Font-Bold="True" BackColor="#FFC080" />
<asp:Label SkinID="ItalicOne" runat="server"
Font-Italic="True" Font-Names="Comic Sans MS" />
نجد لدينا ( قشرتين، أعذرني على التعريب الحرفي) 2 Skins الأول اسمه BoldOne والثاني ItalicOne، وعند استخدامه في صفحة ASPX سيكون على النحو التالي:
<%@ Page Theme="Theme1" %>
<form runat="server">
<asp:Label SkinID="ItalicOne" Text="A Label" />
</form>
:
أود أن أذكر بأن هذه الخاصية يمكنك تغيرها في وقت العرض Run-Time كما يمكن ذلك في وقت التصميم Design-Time.
Site Navigation
الان سأنتقل الى خاصية متعلقة بمجموعة أدوات جديده وهي Navigation Controls. كما تشاهد مواقع "هذه الأيام" أصبحت معقدة فهي لا تتكون من صفحة أو اثنان، بل انها تعدت العشرات ان لم تصل الى المئات (كموقع مايكروسوفت الأم) مما يؤدي الى الإصابة بالدوران أثناء تصفحها، لذا فقد لجأ مطورو هذه الصفحات الى عمل ما يسمى بشريط التحليق Navigation Bar الذي يعتمد –غالبا- على روابط تشعبية HyperLinks و لكن هذا الشريط يحتاج الى إعادة في كل صفحه، و تجربه، و تنسيق مما يؤدي الى الملل أحياناً، ولكن أنصحك بأن تجد طريقة دبلوماسية لتودع بها هذا الملل لأنك بمجرد استخدام ASP.NET 2 لن تجده أبدا، فهناك ما يسمى بـ Site Navigation والتي تساعدك على تأدية التحليق على أكمل وجه و بأقصى سرعة. فكل ما عليك هو تعريف محتويات موقعك في ملف XML يحمل اسم app.sitemap ومن ثم إضافة أداة SiteMapDataSource الى الصفحه و ربطها مع احدى أدوات التحليق مثل ( TreeView) واليك المثال ليتضح به المقال:
الخطوه الأولى
<siteMap>
<siteMapNode title="الريسية" description="Home" url="default.aspx" >
<siteMapNode title="ASP.NET"
description=" خاص بـ Asp.NET" url="aspnet.aspx">
</siteMapNode>
</siteMapNode>
</siteMap>
الثانية
<%@ page ************************************************** **************="VB" theme="Smokeandglass"%>
<html>
<body><form runat="server">
<asp:sitemapdatasource id="SiteMapDataSource1"
runat="server"
startingnodetype="Current"
sitemapviewtype="Flat" />
:
الثالثة
<asp:treeview id="TreeView1" runat="server" datasourceid="SiteMapDataSource1" >
</asp:treeview>
</form>
ملاحظه: لن تحتاج لكتابة هذه السطور عندما تستخدم واجهة تطوير Microsoft Visual ************************ Development وهي الابن الجديد في عائلة VisualStudio.NET Whidbey والذي يمكنك من انشاء تطبيقات ASP.NET.
Security Controls
دعني أتحدث الان عن الحماية Security التي كانت موجوده بشكل رائع في الاصدارات السابقة ولعل أبرزها كان ************************ Forms Security ولكنك كنت تضطر لكتابة أسطر لا بأس بها من الشيفرات التي ستودع شكلها الرائع الجميل في ASP.NET 2.0 فـ ASP.NET 2 تقول لك:
· تريد عمل LOGIN (تسجيل الدخول) فما عليك سوى إدراج أداة Login
· تريد اظهار حالة المستخدم، أدرج أداة LoginStatus
· تريد عرض اسم المستخدم أدرج أداة LoginName
· تريد اعادة كلمة السر للستخدم، أدرج أداة PasswordRecovery
الأدوات السابقة تعتمد على ما يسمى بـ Membership API’s والتي يطول الحديث عنها لذا سأخصص لها مقال منفصل.
************************Parts
حاولت مرارا محاكاة تلك الصناديق القابلة للحركة و الازالة الموجوده في موقع Microsoft.com ولكن طالما باءت محاولاتي بالفشل حتى وقت قريب. هذه الصناديق سوف تكون متوفره للجميع في تطبيقات الويب القائمة على ASP.NET 2 ان شاء الله والتي تدعى ************************Parts وهي تندرج تحت ************************site Personalization و تسمح للمستخدم اغلاقها و أو تحريكها من مكان لاخر أو تعديل ما بداخلها ( تروق لي ! )
خاتمة
سطور قليلة جدا تصف بعض ميزات ASP.NET 2 (Whidbey) وربما لا توفي بحقها، ولكن الغرض منها هو اعلامك عنها فقط لا أكثر كي تبدأ بتعلمها فتكون معك لا ضدك.
في المقالات القادمة –ان شاء الله- سيكون لي حديثا تفصيلا عن تلك الميزات و غيرها.