بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
اخواني اليوم بقدك لكم درس خفيف ان شاء الله تكون فيه الفائده وهو كيف تقدر تطلع MessageBox في ال Asp.net
هناك طريقتين الاولى بواسطة اضافة مرجع موجود في داخل مكتبة الدوت نت
والثانية باستخدام الجافا سكربت
رح اتطرق للطريقتين ان شاء الله تعالى
الطريقة الاولى :-
بواسطة اضافة مرجع من المكتبة
ومايعيب هذه الطريقة ان الكود يتم تنفيذه على السيرفر فاذا طلب خادم صفحة من الموقع يوجد بها رسالة التنبيه هذه فسوف يتم تنفيذ التنبية على السيرفر وليس العميل- فتظهر الرسالة على جهاز السيرفر الموجود عليه الموقع بينما يتوقف متصفح العميل بانتظار قبول او رفض الرسالة الظاهرة في جهاز السيرفر
والسبب في ذلك اننا استخدمنا مرجع اضافي ولكي يعمل على جهاز العميل يجب ان يكون بيئة الدوت نت مركبه على الجهاز وغير هذا اما رح يظهر له رسالة خطأ او رح ينفذ الكود على جهاز السيرفر
طبعا طريقة غير مجدية وغير عملية ابدا للمواقع ولكنها قد تكون عملية عند برمجة نظام داخلي
مثلا انت تبرمج نظام داخلي لبنك يمكنك استخدام هذه الطريقة وطبعا يجب عليك تحميل بيئة الدوت نت على كل اجهزة البنك الي رح تتعامل مع هذا النظام (المقصود هنا ان عدد الاجهزة التي ستتعامل مع النظام يمكن حصرها وتنزيل البيئة عليها) بينما في الموقع الالكتروني المنشور للعامه لا يمكن اجبار المتصفحين ان يقوموا بتنزيل هذه البئية والبديل يكون الطريقة الثانية والتي سيتم شرحها ان شاء الله بعد الانتهاء من شرح الطريقة الاولى
اظهار MessageBox بواسطة استدعاء مرجع اضافي
اول شي تروح ما القائمة project وتخار add reference
ومن الخيار الافتراضي الي هو .net
تزل وتبحث عن ال system.windows.forms.dll
تحدد عليه وتختار من اليمين select
رح يظهر عندك في الصنودق الي تحت اعمل بعدها OK
وهكذا تكون اضفت هذا المرجع
تروح لشاشة الكود او ما يسمى بالكود الخلفي الي نكتب به اوامرنا
دبل كلك على الصفحة او على اي زر او ادارة على الصفحة يطلع لك شاشة محرر الكود
في اعلى الصفحة من فوق اول سطر في الصفحة يعني فوق هذا
كود:
Public Class WebForm1
لو كان اسم الصفحة هو WebForm1
فوقها تكتب هذا
كود:
Imports System.Windows.Forms
هكذا تكون استوردت المرجع داخل الصفحة
الان تروح على الزر مثلا الي هو مثلا Button1
دبل كلك ونكب هذا الامر
كود:
MessageBox.Show("are you sure ?", "importantMSG", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification)
جرب رح تطلع لك الرساله باذن الله
الان اسناد هذه القيمة الي متغير ووضعها في ادارة شرط
نحن اخترنا نوع الرسالة هي منوع نعم او لا Yes or No
رح ترجع لنا بقيمتين عدديتين الاول اذا كان نعم برجع 6
اذا كان لا يرجع 7
تقدر تعرف بنفسك القيمة الي بيرجعها لو ماكنت متاكد منها بالطريقة التالية
عرف متغير من نوع object
وهو النوع العام الي يتغير نوعه مع نوع القيمة المسنده له
مثلا
dim X as object
لو اسندنا لها رقم يصير او اسندنا نص او تاريخ او اي شي ياخذه ما فيه مشاكل
طبعا لا تستخدم هذا النوع لانه يسبب ثقل في البرنامج الا في الحالات الضروريه فقط
الان بنعرف متغير من هذا النوع الهدف اننا نبغا نعرف القيمة التي يتم اعادتها من الضغط على نعم او لا في الرساله لكي نستخدمها فيما بعد
نسند الرساله الي المتغير هكذا
dim X as object = messagebox.show .....xxx
xxx تعني بقية الكود الي فوق كود الرساله
الان جرب اعرض القيمة X في ادارة عرض مثلا في textbox
textbox1.text=x
لو ضغطت على نعم شوف القيمة الي رجعت في ال textbox ماهي ؟ وتكون هذه القيمة الي يرجعها الرساله لو ضغطت على نعم ونفس الشي جرب لو ضغطت على لا
هذه الطريقة تقدر تستخدمها مع ال OK and Cancel وباقي انواع الرسايل
مثلا عرفنا ان نعم ترجع القيمة العديدة 6 ولا ترجع القيمة العددية 7
نعرف متغير من نوع integer ونسند له الرساله
ونضع في كود شرط
if x=6 then
.............
elseif x=7 then
...........
end if
يعني لو كانت القيمة الي بترجع 6 يعني هو اختار نعم سوي شي
او كانت 7 يعني اختار لا سوي شي ثاني
----------------------------------------------
الطريقة الثانية باستخدام ال JavaScript
لتنفيذ كود JavaScrip في ال asp.net يوجد طرق كثيرها ومنها طباعته على الصفحة حيث سقوم المتصفح بترجمة الكود بشكل تلقائي وتنفيذه لان الجافا سكربت هي لغة مدعومه في اغلب المتصفحات مثل ال html يعني -
لاظهار رسالة نعم او لا يمكنك تنفيذ هذا الكود
كود:
Response.Write("<script>confirm('XXXXXXXX')</script>")
لتوسيع الكود واسناد القيمة العائدة لمتغير وتنفيذ جملة شرطيه يجب عليك تعريف دالة جافا سكربت كامله واسناد القيم فيها
ويمكنك فعل ذلك داخل الامر
Response.Write
بدون اي مشاكل كما الكود التالي
كود:
Response.Write("<script>" & vbCrLf & "function disp_confirm()" & vbCrLf & "{" & vbCrLf & "var name=confirm(""MSG with JavaScript"")" & vbCrLf & "if (name==true)" & vbCrLf & "{" & vbCrLf & "document.write(""لقد اخترت نعم"")" & vbCrLf & "}" & vbCrLf & "else" & vbCrLf & "{" & vbCrLf & "document.write(""لقد اخترت لا"")" & vbCrLf & "}" & vbCrLf & "}" & vbCrLf & "disp_confirm()" & "</script>")
مثال كامل في المرفات على الطريقتين
في امان الله