النتائج 1 إلى 9 من 9

الموضوع: الدرس الثاني في ASP.NET2

  1. #1

    الدرس الثاني في ASP.NET2



    السلام عليكم

    كنت أريد أن أتحدث عن خصائص ألأدوات في هذا الدرس ولكن وجدت أنها بسيطة وواضحة ومن عنده لبس في خاصية فليقم بكتابة الخاصية وسأقوم بشرحها له .

    الخصائص لمن نسيتها هي الصورة رقم 4 في الثالة في الدرس الأول

    بخصوص خصائص الأدوات فجميع من استخدم الفيجوال بيسك من إصداراته القديمة 1-6 حتى إصدارات الدوت نت أو حتى الفيجوال سي شارب .... أو أي فيجوال .... يعرف خصائص الأدوات



    أريد أن أطمئنكم بأنه بامكانكم أن تستخدموا النماذج الجاهزة ( القوالب ) في مشروعكم لترتاحوا من عناء التصميم وهذا ما سنشرحه لاحقا .


    الدرس هذا يلزم قبله الكثير من الدروس في المصطلحات والمفاهيم ولكنني أجلتها للدروس القادمة لأنها دروس جافة وأيضا حتى تشعروا أنكم أنجزتم شيء عملي في هذه اللغة .


    سنبدأ بمشروع جديد

    وسنقوم بسحب بعض الأدوات

    ولكن كما نرى فإن الأدوات المسحوبة لا يمكن تحريكها ووضعها في أي مكان في نافذة العمل ( طبعا هذا هو الأساس ).

    ولكن إذا أي أحد منكم عنيد ويريد أن يحرك الأداة كما يريد فعليه أن يختار الأداة ثم يذهب إلى Layout =====>Position ===> Absolute



    مشروعنا اليوم في الأساس يعتمد على أدوات التحقق Validation وأدوات التحقق موجودة ضمن المجموعة Validation


    هذه الأدوات تريح الكثير في العمل وفي اختصار الوقت

    فمثلا لو أردنا أن يتم التسجيل في الموقع وفي أثناء إدخال بيانات المستحدم نسي حقلا ما أن يدخله
    ثم قام المستخدم بالنقر على زر التسجيل
    فهل سيتم إرسال البيانات إلى السيرفر وعند الوصول إلى الحقل الفارغ سيتم إرسال رد من السيرفر أن هنالك حقلا فارغ ؟؟؟ طبعا هذا إضاعة لوقت المستخدم وأيضا ضغط زائد على السيرفر من غير فائدة

    الحل هنا أن تكون الصفحة بتاعتنا بتفهم كثير وتقول أنك لم تدخل البريد الإلكتوني مباشرة ومن دون إرسال البيانات إلى السيرفر

    سأقوم بتغيير المحاذاة إلى العربية قبل أن أبدأ وهي كالتالي
    نضغط في أية مكان فارغ في نافذة العمل بالزر الأيمن ومن القائمة المنسدلة نختار Style


    ===>Text===>Text Directon ===>Right to Left


    سنبدأ الآن بوضع أدواتنا في الجدول الذي أنشأته كالتالي


    نقوم بكتابة محتويات الجدول
    ثم سنضع باقي الأدوات وسنرتبهم كالتالي









    تستطيع أن تضيف المزيد من الصفوف في الجدول وذلك بالذهاب لآخر صف والنقر من الكيبورد على Tab

    ثم سنقوم بإضافة أسماء الدول الآن من نافذة العمل ومن دون الأكوادفيجوال بيسك

    سنقوم بسحب DropDownList من الأدوات
    ثم سنقوم بادخال العناصر إليها
    وذلك بالنقر على المثلث الصغير أعلى الأداة ثم اختيار Edith Items




    سنجعل الخاصية الخاصة بالعنصر اختر دولة .... Selected من False إلى True لجعلها العنصر المختار دائما



    نرى أن أداة القائمة المنسدلة أصغر من الصندوق النصي فكيف سنقوم بجعلها نفس الطول

    طبعا مايكروسوفت لم تنسى هذا الأمر

    قم بتحديد الأداة التي تريد أن تغير حجمها أولا ثم وبالضغط على زر Ctrl من الكيبورد اختار الأداة التي تريد تغيير الحجم إليها نلاحظ أن الأداة الأولى أصبح عليها مربعات صغيرة سوداء أما الأداة الثانية فأصبحت مربعاتها بيضاء ثم من أشرطة الأدوات نختار ما الذي نريد أن نفعله بالضبط في حجم الأداة

    ثم من شريط أدوات layout سنختار الخيار الظاهر بالصورة


    وهنالك الكثير من الخيارات مثل :

    جعلها نفس الطول
    نفس العرض
    نفس الطول والعرض
    نفس البداية
    نفس الإرتفاع .....



    ثم سنسحب RadioButtonList1 ونقوم بوضع عنصرين فيه كالأداة السابقة وهما ذكر و أنثى



    الآن سنقوم بوضع أدواتنا ( أدوات التحقق )
    معلومة هامة
    وهي أن أدوات التحقق عبارة عن جافا سكريبت فلو قام المتسخدم بتعطيل الجافا سكريبت من المتصفح فلن تكون مفعلة
    سأقوم بسحب الأدوات في العمود الثالث كالتالي


    الأداة RegularExpressionValidator هي للتحقق من طريقة كتابة النص كأن يكون في البدابة اسم خالي من الأرقام ولكن يحتوي على رموز ثم بعد ذلك رمز ثم اسم بمعني أن تكتب أنت ما تريد للتحقق منه على طريقتك

    الأداة Validation Summary وهي تجمع جميع أخطاء التحقق التي وقعت ( سنرى ما معنى هذا في النهاية )

    طبعا إذا قمت بتشغيل الصفحة الآن سيظهر لك خطأ بعد أن قمت بسحب أدوات التحقق ولم تقم باختيار الأداة المراد التحقق منها.

    ثاني أداة هي RequiredFieldValidator

    وهي للتحقق من أن النص مدخل أو لا في أداة الصندوق النصي مثلا .

    وما يهمنا في خصائصها التالي
    الخاصية Control To Validate ومنها نستطيع أن نحدد الصندوق النصي الذي نريد التأكد منه ولنقم باختيار الصندوق المقابل لخانة الاسم

    الخاصية Text ومنها نحدد النص الظاهر عند قطع عملية التحقق ( ونضع غاليا * )
    الخاصية Error Message والنص المدخل هنا سيظهر في Validation Summary

    الأداة الثانية هي CompareValidator
    نرى في كثير من المواقع أن خانة ادخال كلمة المرور لا تكون لوحدها ولكن يكون أيضا خانة تأكيد كلمة المرور وهذه الأداة تتأكد من تطابق النصين

    طبعا لها نفس خصائص الأداتين السابقين بالإضافة ( إذا كنت ذكي ستعرف ما الجديد لوحدك )

    بالإضافة إلى خاصية Control To Compare وفيها نحدد الصندوق الثاني الذي نريد التحقق منه سأقوم باختيار الصندوق النصي المقابل لخانة تأكيد كلمة المرور
    وسأضع الخاصية Control To Validate على الصندوق المقابل لخانة كلمة المرور

    وأيضا سنستخدم نفس الأداة عند التحقق من الدولة لكن بتغيير صغير
    قم بسحب أداة CompareValidator أمام أداة القائمة المنسدلة ثم اذهب لخصائصها وقم بعمل التالي
    من لخاصية Control To Validate سنختار اسم القائمة المنسدلة المقابلة لخانة الدولة
    وسنقوم بتغيير الخاصية Opertator إلى Not Equal أي لا يساوي
    وسنقوم في خاصية Value To Compare بوضع العنصر الذي لا نريد اختياره وسيكون ( اختر دولة ....) وهنا ملاحظة مهمة جدا وهي بجب توافق نفس اسم العنصر المختار مع نفس القيمة المدخلة هنا وأنا أفضل أن نقوم بنسخ ولصق القيمة لتفادي حدوث مشاكل


    ونفس الشي نسحب نفس الأداة مقابل الجنس ونختار من خاصية Opertator الخيار Equal ونكتب في القيمة value نكتب ذكر

    بقي لنا آخر أداة وهي Range Validator ومن اسمها نحدد المدى المطلوب أي من ____ إلى ___
    سنقوم باختيار القائمة المنسدلة المقابلة لخانة العمر في الخاصية Control To Validate للأداة طبعا نسيت أن أقول لكم بما أنني لم أقم بتغيير أسماء الأدوات فسيكون الاختيار DropDownList2

    وفي الخاصية Maximum Value سنحدد أكبر قيمة للعمر وستكون 60 ( المسنين ممنوع يدخلوا الموقع ) وفي الخاصية Minimum Value سنضع القيمة 20 سنة ( فقط للبالغين )

    ما حدش قال لي طيب إنتا إنسيت إنك ما وضعت الأرقام في القائمة المنسدلة
    طبعا بالامكان كما قمنا بادخال أسماء الدول في القائمة المنسدلة الأولى بوضع أرقام العمر في القائمة المنسدلة للعمر ولكن هذا سيكلف الكثير من الوقت

    وإذا كانت لديك خلفية ولو برمجية بسيطة فستفهم ما معنى هذا الكود

    قم بالنقر المزدوج في أي مكان فارغ في منطقى العمل ليظهر لنا حدث بدء تحميل الصفحة
    حدث تحميل الصفحة هو أهم حدث في الصفحة ويتم استدعاءه بعد أن إنشاء كافة الأدوات وفيه نضع معظم أكوادنا ( لنا وقفة طويلة مع الأحداث والبرمجة كائنية التوجيه)

    كود:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim i As Byte
    For i = 13 To 80
    DropDownList2.Items.Add(i.ToString)
    Next
    End Sub


    وهذا اختصار كبير للوقت حيث قلنا في الكود السابق أن يضيف عناصر إلى القائمة المندسلة بنفس قيم العداد

    الآن سنقوم بتشغيل الصفحة وسنقوم بالنقر على موافق من دون ادخال أية نصوص وسنلاحظ التالي

    ثم إذا أردنا عرض رسائل الخطأ
    كل ما علينا هو سحب أداة Validation Summary
    ووضع في خاصية كل أداة تحقق رسالة الخطأ Error Message

    وعند تعبئة كافة الحقول نلاحظ أن الصفحت تطلب السيرفر.



    رابط الدرس
    http://khalilme.net/L/l2/l2.zip

    تم الانتهاء من الدرس الثاني بإذن الله

    أخوكم خليل من فلسطين





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2002
    المشاركات
    534


    أتشرف بأن أكون أول من يرد على موضوعك، بارك الله فيك أستاذ خليل ..

    وسأبدأ بالتطبيق وأوافيك بالجديد ..





    __________________
    بداية للمشاريع التجارية

    ASP.NET,ASP 3.0

    المدونة الشخصية : asp2asp.com

    عدنا والعود أحمد...

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2002
    المشاركات
    534


    الحقيقة استفدت من الدرس تماما، حيث كنت جداً جاهل في هذه الجزئية، فعلاً أدوات تسهل عمل الكثير.

    لدي ملحوظة في الكود:

    لماذا جعلت خاصية المتغير (i) بايت، لأنني اعتدت أن تكون Integer، ومالفرق بينهما في غير هذه الحالة؟

    تحياتي لك..





    __________________
    بداية للمشاريع التجارية

    ASP.NET,ASP 3.0

    المدونة الشخصية : asp2asp.com

    عدنا والعود أحمد...

  4. #4


    السلام عليكم

    أخي asp2asp شكرا لمرورك ولتعقيبك

    والسبب أن مدى المتغير انتجر من - 2 مليون إلى موجب 2 مليون

    أما مدى المتغير بايت من - 256 إلى موجب 256

    ولا أعتقد هنالك عمرا أكثر من 256 سنة في أيامنا هذه

    وبالتالي أنا أخفف العبئ على الذاكرة
    طبعا الصفحة كلها ما بتقل ولا متغير أو اثنين راح يتقلوا عالصفحة

    ولكن القضية قضية تعود





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2002
    المشاركات
    534


    الحقيقة أشكر لك تفاعلك، لم أكن في السابق أبالي بمسألة الذاكرة، وهي مهمة خصوصاً في صفحات الإنترنت وسرعة معالجة الطلبات، بارك الله فيك.

    والحقيقة كذلك استفد من كود c# حيث لدي رغبة في معرفة أبرز ملامح هذه اللغة، وبالفعل لاحظت تميزها في عدم وجود نهاية لجملة التكرار مثل البيسك، والعلامة التي تنهي الجمل هي ( ; ) .. كذلك عند تعريف متغير لم تحتج لـDim ولا As.. ربما تعجبني هذه اللغة !

    وبانتظار المزيد.





    __________________
    بداية للمشاريع التجارية

    ASP.NET,ASP 3.0

    المدونة الشخصية : asp2asp.com

    عدنا والعود أحمد...

  6. #6

    تاريخ التسجيل
    Jun 2006
    المشاركات
    1,370


    ماشاء الله بارك الله فيك اخي خليل درس رائع وتستحق عليه كل تقدير





    __________________
    @_@

  7. #7


    شكرا لمرورك أخي nothing4u

    أما أخي asp2asp

    السي شارب كتشبه كثيرا السي والسي بلس بلس وحتى الجافا

    جملة التكرار إذا كانت سطر واحد مثل جملة إف أيضا فلا تحتاج لنكست ولا لأي شيء
    أما لو كانت أسطر فهي تحتاج للأقواس

    وإذا أردت حقا تعلم السي شارب عندي كتاب من 7 صفحات يشرح كيفية الانتقال من الفيجوال بيسك للسي شارب

    فقط في الفروقات بين اللغتين





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2002
    المشاركات
    534


    ياليت الحقيقة

    فأنا لا أمتلك أي خبرة في اللغات التي ذكرت.

    لكن مستعد للانتقال لأني أجدها أكثر انتشرا في كتابة asp.net.

    والأمر الآخر يتضح سهولتها المنطقية.





    __________________
    بداية للمشاريع التجارية

    ASP.NET,ASP 3.0

    المدونة الشخصية : asp2asp.com

    عدنا والعود أحمد...

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2002
    المشاركات
    534


    وجدت موضوع هنا مفيد في بيان الفروق بين اللغتين.

    فجزا الله كاتب الموضوع خيراً، وجزاك خيراً لأنك حثثتني على البحث أخي خليل.

    http://www.swalif.net/softs/swalif26/softs162148/





    __________________
    بداية للمشاريع التجارية

    ASP.NET,ASP 3.0

    المدونة الشخصية : asp2asp.com

    عدنا والعود أحمد...





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
0
أضف موقعك هنا