قواعد المشاركة في المنتدى

(القسم المفتوح) الموضوع:حكم‏ بواسطة: (kkarem55) :: (منتدى Microsoft Excel) الموضوع:كيف اعرف عدد الصفحات فى الملف بواسطة: (junkbki) :: (منتدى الأكسس) الموضوع:الاعداد بعد العلامة العشرية بواسطة: (freenew) :: (منتدى مبرمجي ASP.NET) الموضوع:مشروع موقع إخباري تفاعلي بواسطة: (hex-dmx) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:هل استطيع طباعة الفورم - مشكلة في OleDbDataAdapter بواسطة: (jbsa) :: (القسم المفتوح) الموضوع:الجدار الفولازى بواسطة: (leema) :: (القسم المفتوح) الموضوع:باللين تمتلك القلوب بواسطة: (leema) :: (القسم المفتوح) الموضوع:من هم الذين تستجاب دعواتهم بواسطة: (leema) :: (قسم التعاميم والشكاوي) الموضوع:أجمل التهاني للأخت Leema لتوليها الإشراف على القسم المفتوح بواسطة: (leema) :: (منتدى الأكسس) الموضوع:تعديل على قاعدة البيانات بواسطة: (somame) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:vb . net 2005 ممكن بواسطة: (talallll) :: (قسم الاعلانات) الموضوع:اروع دورة إعداد و تدريب المدربين بواسطة: (حامل العنبر) :: (منتدى الأكسس) الموضوع:النموذج الفرعي بواسطة: (musbah1978) :: (قسم الدعم الفني) الموضوع:عندى فولدر مخفى وكلما اظهره يختفى بواسطة: (joseph55) :: (قسم الدعم الفني) الموضوع:كيفية اعادة سطح المكتب بواسطة: (joseph55) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:مشكلة التعامل مع DataGrid1 بواسطة: (اسرار البرمجة) :: (منتدى تصميم صفحات الويب) الموضوع:طلب مساعدة من اهل المعرفة بواسطة: (الاميرة ديانا) :: (قسم الاعلانات) الموضوع:شراء بيع أو تأجير... اعلانات بيت.كوم المبوبة بواسطة: (بيت.كوم) :: (منتدى الأكسس) الموضوع:مساعدة بالتقارير بواسطة: (hatmal) :: (منتدى مبرمجي ASP.NET) الموضوع:ماهي طريقة طباعة التقرير دون تحويله الى pdf بواسطة: (يوسف جميل جادالله)


شاركوا باللقاء الصحفي لهذا الشهر


المواضيع المثبته: (منتدى Microsoft Visual Basic) الموضوع:Home Administrator Project بواسطة: (zoubicom) :: (قسم الدروس و الدورات) الموضوع:دورة مجانية في الفجوال بيسك دوت نيت و خاصة بالمبتدئين بواسطة: (ITPROGRAMMER) :: (منتدى ADO.NET العام) الموضوع:انشاء قواعد البيانات برمجيا جداول - علاقات -قيود بواسطة: (شهرزاد) :: (منتدى ال SQL العام) الموضوع:كتاب يشرح اساسيات SQL بواسطة: (محمد جمعة) :: (القسم المفتوح) الموضوع:الى الاخوه الاعضاء مع التحيه والتقدير بخصوص العناوين للمشاركة بواسطة: (startnet) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:موسوعة الأكواد بواسطة: (fmo_82) :: (منتدى Microsoft Visual Basic) الموضوع:أكبر مشاركة فيجوال بيسك بواسطة: (SkyLight) :: (منتدى أنظمة الشبكات وأمنها) الموضوع:امن المعلومات وامن الشبكات بواسطة: (khaled helal) :: (منتدى البرامج) الموضوع:7 اسطوانات لتعليم شهاده ICDL بالصوت والصوره بواسطة: (مستشفى الكمبيوتر) :: (القسم المفتوح) الموضوع:وبشر الصابرين بواسطة: (ahmedtharwat19) :: (أخبار التكنولوجيا) الموضوع:مع جوجل : ترجم أي موقع E الى العربية . بواسطة: (عبد الرحمن) :: (منتدى مبرمجي ASP) الموضوع:مشروع university للجامعات بواسطة: (عبدالله جابر شقليه) :: (قسم البرامج الجاهزة و الاكواد) الموضوع:مشروع طبيب الاسنان مع السورس كود بواسطة: (ITPROGRAMMER) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:دورة قواعد البيانات (( اوراكل للمبتدئين )) بواسطة: (السند العربي) :: (منتدى ADO.NET العام) الموضوع:البدء مع ADO.NET بواسطة: (HnHn) :: (منتدى الوورد والباور بوينت) الموضوع:مكتبة الباور بوينت بواسطة: (ramies) :: (منتدى ADO.NET العام) الموضوع:الكامل في قواعد البيانات مع VB.net بواسطة: (المهندس عدي) :: (كتب عن VB.NET) الموضوع:كتب VB.NET عربي بواسطة: (عبد الرحمن) :: (قسم التعاميم والشكاوي) الموضوع:مسابقة منتدى المحيط العربي الرمضانية بواسطة: (عبدالله جابر شقليه) :: (منتدى تحليل و تصميم نظم المعلومات) الموضوع:مراحل تحليل النظم لدراسة نظام قائم بواسطة: (jbsa)

عدد الصفحات : 6  1  2  3  4  5   > » إضافة رد إضافة موضوع جديد

> البدء مع ASP.NET AJAX
Bookmark and Share
تقييم الموضوع Label معدل التقيم:0
مشاركةالخميس,02/ربيع الثاني/1428 هـ,07:24 صباحاً
المشاركة #1

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



المجموعة: الإدارة
المشاركات: 2592
سجل في:الاثنين,26/ربيع الأول/1427 هـ,07:49 صباحاً
الدولة:الأردن
رقم العضوية: 10102



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

ان شاء الله في هذا الموضوع سأوضح UpdatePanel Control أهم أداة لتقنية ASP.NET JAJX 1.0 و لفت النظر ونقاش كثير الأمور التي تخص هذه الأداة , وأيضا الاداة UpdateProgress وهي تقريبا شبه ملازمة للUpdatePanel .

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

أولا الفائدة الأساسية لهذه التقنية بشكل عام ولهذه الأداه بشكل خاص هو عمل Refresh لجزء محدد من الصفحة , وليس لكل الصفحة وهو ما يسمى بـPartial-page rendering .

مش راح نكتفي انو نحط الاداة و نستخدام الControls مثل ما أغلب المبرمجين بستخدموها .راح نتعرف لاحقا على Client Script الخاص بPartial-Page Updates لكن كلو ان شاء الله بالتدريج.


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



المحاور الأساسية لهذا البوست:




  • ScriptManager Control
  • UpdatePanel Control
  • UpdateProgress Control
  • Start with Client Script
  • PageRequestManager Class





لن أطيل بالكلام و راح نبدأ و نحاول نكون عمليين:

مثل ما هو معروف اذا بدنا نفتح مشروع اجاكس جديد من خلال الدوتنت راح نختار ASP.NET AJAX-Enabled Web Site !
طيب شو الفرق بينها و بين اي مشروع ASP.NET عادي ؟؟؟؟ في كثير بفكرو انو لAJAX-Enabled راح تلاقي ScriptManager موجود بالصفحة !!!!! لا مش هذا الفرق, الفرق الأساسي موجود داخل ملف Web.config .
اذا الفرق وجود Configration خاصة لASP.NET AJAX بتكون موجودة في هذا الملف هم configSections و الست العناصر الأخرى المتبقية , حاليا اوعكم تلعبو فيها لأنها كثير دقيقة .
ممكن حدا يسأل ممكن انو احنا نعدل عليها ؟؟ الجواب طبعا ممكن و احيانا راح نضطر لحل بعض المشاكل مثل مشكلة الماستربيج معAJAX .


ScriptManager Control
اذا لاحظتو لما نعمل مشروع جديد ASP.NET AJAX-Enabled Web Site
بصفحة ال Default لار تشوفو هذه لاداة موجودة و كل صفحة بنستخدمها لازم نستخدمها.
بإختصار أهم وظيفة لاستخدام Client-script و أدوات اجاكس الأخرى أي لعمل registers لهم وما بنقدر نستخدم أي أداة أجاكس بدونها .


نكمل مع UpdatePanel و UpdateProgress و ننتظر اذا في تعليقات على هذا الموضوع.

للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالجمعة,03/ربيع الثاني/1428 هـ,10:55 مساءً
المشاركة #2

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

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 8
سجل في:السبت,02/شعبان/1427 هـ,03:45 صباحاً
الدولة:السعودية
رقم العضوية: 12954



بارك الله فيك
نرجو استكمال الموضوع
جزاك الله خيرا


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالسبت,04/ربيع الثاني/1428 هـ,02:20 مساءً
المشاركة #3

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



المجموعة: الإدارة
المشاركات: 2592
سجل في:الاثنين,26/ربيع الأول/1427 هـ,07:49 صباحاً
الدولة:الأردن
رقم العضوية: 10102



updatePanel Control



updatePanel هي جوهر Microsoft ASP.NET AJAX. فهي تعمل partial-page rendering أي عمل رفرش لجزء من الصفحة اوتوماتيكيا للعناصر التي بداخل ContentTemplate مباشرة أو عن طريق ال Triggers.

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


<p align=center><img src=http://www.arabmoheet.net/forum/editor/smiles_icon/02.gif border=0></p>
المثال الاول:

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

المثال عبارة عن 2 buttons واحد داخل updatePanle والاخر خارجة , والثنين لهم نفس ال function وهو احضار وقت السيرفر.

أولا نتأكد ان ال ScriptManager موجود في الصفحة .
نعمل Drag and drop للupdatePanel ونضع بداخلها button + label.
ونضع أيضا Button+label خارج الupdatePanel.

ونكتب الأمرالتالي داخل كل زر:
DateTime.Now.ToLongTimeString();



يصبح المثال كالتالي:

<html xmlns=http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Untitled Page</title>

    <script runat="server">
        protected void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = "Last update at:" + DateTime.Now.ToLongTimeString();
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            Label2.Text = "Last update at:" + DateTime.Now.ToLongTimeString();
        }
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <div>
        <asp:updatePanel ID="updatePanel1" runat="server">
            <ContentTemplate>
                <fieldset>
                    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                    <br />
                    <asp:Button ID="Button1" runat="server" Text="Button in updatePanle" OnClick="Button1_Click" />
                </fieldset>
            </ContentTemplate>
        </asp:updatePanel>
        <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><br />
        <asp:Button ID="Button2" runat="server" Text="Button Outside" OnClick="Button2_Click" />
    </div>
    </form>
</body>
</html>


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

نكمل بنفس المثال :
نفرض انو بدنا نستخدم updatePanle واحدة لزرين . و كل زر بمكان بالصفحة يعني ما بنقدر نحطهم جنب بعض , برضو ما في مشكلة راح نستخدم اشي اسمه العنصر Triggers .

هناك 2 element يستخدمان للupdatePanel
الاول :ContentTemplate وهو الذي نضع فيه العناصر لعمل asynchronously لها بشكل مباشر .
الثاني : Triggers وأم استخدام لها للعناصر اللي خارج ال updatePanel .
ويقوم بذلك AsyncPostBackTrigger ونحدد الخصائص له ControlID لاسم الكنترول
و EventName لتحديد الحدث .
مثال :

 <Triggers>
													<asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
</Triggers>




بحيث اذا ضفنا هذا الكود للكود السابق فهيك كل الصحفة اي الزرين ما راح يعملو رفرش كامل للصفحة .

بالنسبة لتعريف AsyncPostBackTrigger بطريقتين .
الأولى مثل ما هو مكتوب فوق.
وأيضا يمكن استخدام updatePanelTrigger Collection Editor . و هو من خصائص ال updatePanle
اذهب الى الخصائص واختار Triggers.
والصور توضح الخطوات.



----------------------------------------------------




استخدام آخر للعنصر AsyncPostBackTrigger :
والا أقلكم بلاش أشتتكم الان بكثرت المداخلات و الافكار سأفرد لها درس خاص في هذه الدورة بإذن الله بس ذكرونا.

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

مع التحية..
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالسبت,04/ربيع الثاني/1428 هـ,11:25 مساءً
المشاركة #4

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

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 8
سجل في:السبت,02/شعبان/1427 هـ,03:45 صباحاً
الدولة:السعودية
رقم العضوية: 12954



ما شاء الله عليك
والمثال ليس سخيفا بل جيدا
توكل على الله أخي
وأنا أخي أريد تنزيل الأداة وسأتابع معك بإذن الله تعالى
جزاك الله خيرا


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,05/ربيع الثاني/1428 هـ,01:34 صباحاً
المشاركة #5

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



المجموعة: الإدارة
المشاركات: 2592
سجل في:الاثنين,26/ربيع الأول/1427 هـ,07:49 صباحاً
الدولة:الأردن
رقم العضوية: 10102



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

مع التحية .
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالاثنين,06/ربيع الثاني/1428 هـ,12:33 صباحاً
المشاركة #6

الرتبة في المنتدى:ملازم

أيقونة المجموعة

المجموعة: أعضاء فعالين
المشاركات: 198
سجل في:الثلاثاء,15/ذو الحجة/1425 هـ,02:35 مساءً
الدولة:اليمن
رقم العضوية: 1329



أول مرة أشوف الموضوع و شكلة مفيد جدا , تسلم أخ يوسف على هذة المواضيع المتميزة و أن شاء الله أتابع الدروس معكم .


--------------------

الحماس خطوة هامة على الطريق، ولكن التقدم الحقيقي هو نتيجه لتصرف صحيح وبشكل ثابت
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,07/ربيع الثاني/1428 هـ,01:09 صباحاً
المشاركة #7

الرتبة في المنتدى:ملازم

أيقونة المجموعة

المجموعة: أعضاء فعالين
المشاركات: 198
سجل في:الثلاثاء,15/ذو الحجة/1425 هـ,02:35 مساءً
الدولة:اليمن
رقم العضوية: 1329



عندما حاولت تحميل الأداة في الجهاز يظهر الخطأ التالي
 اقتباس

Installation stopped because the directory for the ProjectType value did not exist.
The project type is invalid for your installation of Visual Studio.


مع العلم أن نظام التشغيل لدي في الـ D و أنا محمل الـ vs في الـ C

ما هو سبب الخطأ و كيف أقوم بحلة ؟


--------------------

الحماس خطوة هامة على الطريق، ولكن التقدم الحقيقي هو نتيجه لتصرف صحيح وبشكل ثابت
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,07/ربيع الثاني/1428 هـ,12:41 مساءً
المشاركة #8

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



المجموعة: الإدارة
المشاركات: 2592
سجل في:الاثنين,26/ربيع الأول/1427 هـ,07:49 صباحاً
الدولة:الأردن
رقم العضوية: 10102



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

مع التحية
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,07/ربيع الثاني/1428 هـ,04:58 مساءً
المشاركة #9

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

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 62
سجل في:الثلاثاء,25/ذو الحجة/1426 هـ,05:45 صباحاً
الدولة:
رقم العضوية: 7813



شكرا لك على ها المجهود الرائع
كان عندي إذا سمحت لي عدة إستفسارات

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

- ماهو الفرق بين إستخدام
<atlas:update panel>
وبين الذي قمت بإستخدامه
<asp:UpdatePanel>
ولماذا لم تستخدم الأول ؟

- حاولت تطبيق المثال الذى وضعته فلم ينفذ الحالة الثانية عند إستخدام <Triggers> أرفقت الكود لمعرفة الخطأ

أرجو أن لاكون أطلت عليك



الملفات المرفقة
 first_ajax_enabledsite.rar ( 2.28ك ) عدد مرات التنزيل: 115


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,07/ربيع الثاني/1428 هـ,05:35 مساءً
المشاركة #10

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



المجموعة: الإدارة
المشاركات: 2592
سجل في:الاثنين,26/ربيع الأول/1427 هـ,07:49 صباحاً
الدولة:الأردن
رقم العضوية: 10102



 اقتباس
- أنا لحد الأن لم أصمم ولا موقع بإستخدام هذة التقنية ماهي الأشياء التي يجب أن أقوم بعملها لأتمكن من عمل موقع يدعم بشكل كامل إستخدام هذة التقنية وماهي الأدوات التي يجب أن اجهزها ؟


هل تقصد عمل رفع للموقع , اذا كان هذا قصدك , بس بلزمك تنزل ASP.NET JAJX Extensions 1.0 على السيرفر, او اذا كنت تريد رفعه على host و لم ينزلها بتقدر ترفع ملفات الDLL الخاصة باجاكس الموجودة على الإمتداد C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025 بس في ملاحظة ان الHost لازم يستخدم Full Turst حتى تتمكن من استخدام ملفات الDLL والمشكلة ان ال Full Trust تعتبر نقطة ضعف في الامان .


 اقتباس
(كيف أبدأ من الصفر في هذة التقنية وأنتهي بوقع كامل)


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


 اقتباس

- ماهو الفرق بين إستخدام
<atlas:update panel>
وبين الذي قمت بإستخدامه
<asp:UpdatePanel>
ولماذا لم تستخدم الأول ؟


atlasTag كان يستخدم في اول اصدار من مايكروسوفت لهذه التقنية ,أما أخر اصدار وبعد الاصدارات السابقة فبنستخدم فيه التاج الحالي.
لكن اذا بدك بورجيك كيف تعمل اسم التاج اللي بدك اياه من خلال ملف Web.config يعني لو بدك تكتب اسمك في البداية بصير .




 اقتباس
- حاولت تطبيق المثال الذى وضعته فلم ينفذ الحالة الثانية عند إستخدام <Triggers> أرفقت الكود لمعرفة الخطأ


عزيزي بمثالك انت بتعمل access على lable خارج updaepanel . ال button بنعمله Trigger ام ال label لازم يكون تابع للupdatpanel حتى يعمل ِِasynchronous

مع التحية..
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة

    

عدد المتصفحين لهذا المنتدى «1»: (الضيوف «1» - المتخفون «0»)
الأعضاء «0»: .

عدد الصفحات : 6  1  2  3  4  5   > » إضافة رد جديد إضافة موضوع جديد



 
الوقت الأن:اليوم,09:52 مساءً بتوقيت القدس المحتلة

Powered By arabmoheet v3.1

منتديات المحيط العربي  -  راسلنا  -   أعلى
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)