عمل تطبيق Asp.net من البداية وحتى رفع الموقع - ملف فيديو

Thursday, September 17, 2009 | Labels: , , , | 1 comments |



بسم الله الرحمن الرحيم .


بالاشارة إلى الإعلان السابق ، وضمن فعاليات اليوم المميز الذي اختتم في المنتدى على هذا الرابط :http://vb4arab.com/vb/forumdisplay.php?f=122


تم تجهيز خطوة بخطوة عمل تطبيق Asp.net ، التطبيق لموقع قديم على شكل مستعرض منتجات بسيط .

لغة الموقع : Asp.net من خلال .net 2008 .


إذا كانت هذه المرة الأولى التي تجرب فيها تصميم الويب ، فمن المفضل الإطلاع على بعض الدروس المبدئية قبل مشاهدة الفيديو :

http://vb4arab.com/vb/showthread.php?t=18391 - http://vb4arab.com/vb/showthread.php?t=18397 - http://vb4arab.com/vb/showthread.php?t=18454 - http://vb4arab.com/vb/showthread.php?t=18528 - http://vb4arab.com/vb/showthread.php?t=18573 - http://vb4arab.com/vb/showthread.php?t=18586


النقاط التي تم شرحها في الفيديو :


1- انشاء قواعد البيانات والعلاقات .

2- انشاء Stored Procedure.

3- انشاء طبقات البيانات .

4- انشاء الماستر بيدج .

5- البدء بانشاء الصفحات .

6- انشاء Custom Control.

7- التعامل مع بعض الادوات .

8- نشر الموقع على مستضيف مجاني .


الفيديو التعليمي هنا :

http://vb4arab.com/vb/popup/Final.html

وذلك على مدار ساعة كاملة ، من المفترض بعدها أن تكون قادراً على تصميم تطبيق Asp.net متكامل .


التطبيق النهائي هنا :

http://aspspider.info/ahmedgamal2/


لتحميل المشروع النهائي - سورس كود - :

http://www.vb4arab.com/vb/uploaded/3/01250221571.rar

ملف قاعدة البيانات :

http://www.vb4arab.com/vb/uploaded/3/01250583424.rar


** هناك بعض المشاكل في التسجيل الصوتي لذا هذا التسجيل الصوتي مؤقت ، وسيتم اعادة التسجيل قريباً إن شاء الله .


خطوات رفع الموقع على مستضيف مجاني Aspspider بعد الإنتهاء :


- ادخل إلى موقع Aspspider.net .

- قم بانشاء حساب جديد .

- سيتم تفعيل اشتراكك بعدها بحدود الساعة أو الساعتين .

- عند تسجيل الدخول بعد هذه الفترة ، ستجد لديك الصورة التالية :




- اختر مركز لوحة التحكم ، رفع الملفات ، ثم webroot ، وقم برفع ملفاتك واحد تلو الآخر .

- بعد الإنتهاء ، عد مرة أخرى إلى مركز رفع الملفات ، ثم Database ، ومن ثم قم برفع ملف قاعدة البيانات mdf فقط لو سكول أو mdb لو أكسيس .

- بعد الانتهاء عد مرة أخرى إلى لوحة التحكم ، واختر Database Manager .- ستجد قاعدة بياناتك التي قمت برفعها موجودة ، اضغط Attach Database ، واتبع الخطوات .

- بعد الانتهاء ، ادخل على الرابط التالي ، قم بتعديل ال Connection String الخاصة بك في web.config للطريقة الموضحة في هذه الصفحة :


- مبروك ، جرب الدخول إلى موقعك :)

بالتوفيق للجميع ...

Read more ...

الجديد في C# 4.0

| Labels: | 2 comments |


بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

ما الجديد في C# 4.0 ؟

في الوقت الذي لا زلنا نحارب من أجل انتقال البعض إلى تقنية الدوت نت ، ما زالت عجلة التطور مستمرة ، وكل يوم نجد تقنية جديدة واصدار جديد ، سنحاول في هذه المقالة السريعة التعرف على بعض النقاط التي سنجدها مع C# 4.0 .
الخصائص الاضافية مقسمة لاربع اقسام رئيسية هي :

1- البارميترات الاختيارية Optional Parameters.
2- استخدام Dynamic - Dynamic Support
3- التعامل مع COM - COM interop.
4- Variance.


1- البارميترات الاختيارية Optional Parameters :

أخيراً في سي شارب ، أصبح بامكانك وضع قيم افتراضية للبارميترات بعد أن كانت هذه الخاصية متاحة فقط في vb.net :

public void functionname( string param1="Ahmed", bool param2 = false, int param3 = 24 ){
}

*** تسمية المتغيرات عند الإرسال Named Parameters :
في المثال السابق ، لنفترض اننا نريد الاستفادة من الخاصية الافتراضية للمتغير المنطقي param2 ولكننا نريد ارسال قيمة رقمية ل param3 بالشكل التالي
functionname("Ali",25);


الجملة السابقة للاسف خاطئة ، لإنها سترسل 25 في البارميتر الثاني وتفترض أن البارميتر الثالث هو من لم يتم تمريره .
لحل هذه المشكلة ، يمكننا كتابة اسم البارميتر حالة الإرسال بالشكل التالي :

functionname("Ali",param3: 25);


2- استخدام Dynamic - Dynamic Support

لنفترض أن لدينا دالة نرسل لها متغير معين فتعين لنا إما كائن من نوع طالب ، أو كائن من نوع مدرس ، بالشكل التالي مثلاً :

public object functionname(param a){if(a==0) return new Student();else return new teacher();}


الآن ، لو كان لهما خاصية مشتركة FirstName ونريد تعديلها بناء على الدالة التي تمت اعادتها ، فلدينا الحل التالي :
if(condition==0){Student s=functionname(condition) as Student;s.FirstName="Ahmed";}else{Teacher s=functionname(condition) as Teacher s.FirstName="Ahmed";}


الحل البديل الآن مع dynamic ، يمكنك كتابة الكود السابق بالشكل التالي :

dynamic s=functionname(condition) s.FirstName="Ahmed";


وفي حالة عدم وجود الخاصية بصورة مشتركة ، فسيتم رمي الاستثناء RuntimeBinderException
كما يمكنك لاحقاً اعادة تعيينها إلى Class معين بالشكل التالي :

Student newone=s;


*** أي قيمة byref عائدة من dynamic سيكون نوعها dynamic أيضاً .

3- التعامل مع COM - COM interop.

باستخدام نفس الميزة الجديدة dynamic ، اصبح التعامل مع ال COM Components أسهل وأسرع .
ابسط مثال على ال Com Components هي ادوات التعامل مع مجموعة برامج الاوفيس Ofice ، سابقاً كنا نكتب كود كالتالي للقراءة من خلية اكسل :
((Excel.Range)excel.Cells[1, 1]).Value2 = "Hello";

الجديد الآن ، هذا السطر كافي :

excel.Cells[1, 1].Value = "Hello";4- Variance


لو فرضنا أن لدينا الكود التالي :

IList strings = new List();IList<object> objects = strings;


في الواقع وعلى الرغم من ان أي String هو Object ، إلا أن الجملة السابقة ليست صحيحة بسبب أن String لا يحتوي على نفس عناصر ال Objects . مثال ذلك :

objects[0] = 5;string s = strings[0];


هذه الجملة خاطئة ، وادخالنا ل 5 كرقم واعادتها كنص يعد خرقاً لقواعد الأمان ، فقط باستخدامنا الانترفيس Interface التالي في C# 4.0 يمكن أن نمنع المستخدم من ادخال بيانات خاطئة :


IEnumerable<object> objects = strings;


والذي يتم تعريفه في C# 4.0 بالشكل التالي :


public interface IEnumerable : IEnumerable{ IEnumerator GetEnumerator();}public interface IEnumerator : IEnumerator{ bool MoveNext(); T Current { get; }}


أخيراً : العلاقة مع فيجوال بيسك - التحديثات الجديدة - :

1- خاصية القيم الافتراضية للبارميترات موجودة منذ زمن في الفيجوال بيسك .
2- بالنسبة لـ Variance و dynamic فتم تطبيقهم في نفس الوقت للغتين .

للاستزادة :
http://code.msdn.microsoft.com/Proje...ownloadId=3550

والسلام عليكم ورحمة الله وبركاته .

Read more ...

تم تحديث جميع الروابط

| Labels: | 0 comments |

تم تحديث جميع الروابط ، ومعذرة على التأخير .

Read more ...