الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التحكم في حدث كنترول في حالة فتح أكثر من نافذة

مغلق
بدأه هيثم خياط في 17 يونيو 2007 · 8 رد · 578 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الإخوة الأعزاء، قمت بتطوير نظام ASP.NET على الشبكة الداخلية ومرتبط بـ SQL Server 2005 وقمت بالتحكم بصلاحيات الدخول بطريقة يدوية بحيث أقارن اسم المستخدم على الشبكة بصلاحياته في الجدول وبناء عليه يقوم تحويله للماستر بيج الخاصة بهذه المجموعة وأمنحه Session.

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

الآن المشكلة عندما يقوم المستخدم بفتح نافذتين منفصلتين لنفس النظام ويقوم باستدعاء هذا النموذج ويدخل الرقم الوظيفي للموظف ففي هذه الحالة يكون زر "موافق" مفعل في كلا النافذتين. سؤالي هو كيف أستطيع التحكم في هذه المشكلة بحيث حتى لو فتح المستخدم أكثر من نافذة وتم استعلام ما عن موظف لا يتم تفعيل هذا الكنترول؟

أرجو أن وضحت المشكلة.

أطيب تحية،،

وكن ذاك الفتى إن مشى

قالوا هذا الأثر

للتواصل الفني

haitham.khaiyat@hotmail.com

#2
اقتباس
في حالة إدخال نموذج معين يقوم المستخدم بالاستعلام عن موظف بادخال رقمه الوظيفي

أنا عندي لبس في هذي المسألة .. ممكن تشرحها أكثر ؟؟

#4

عزيزي أرفقت صورة للشرح

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

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

أتمنى وضحت الصورة الآن؟

post-103630-1182059307_thumb.jpg

وكن ذاك الفتى إن مشى

قالوا هذا الأثر

للتواصل الفني

haitham.khaiyat@hotmail.com

#5

طيب فهمت عليك

هلأ انت بدك تتعامل مع تفعيل وعدم تفعيل موظفين

شوف لازم يكون في قاعدة البيانات حقل اضافي وهو (هل تم فعل شيء له) قيمته الافتراضية 0

طيب هلأ اذا لنفرض انك في صفحتين وتحاول تفعيله وبحثت في كلتا الصفحتين فأتاك الزران مفعلان في كلتا الصفحتين

هلأ اذا في الصفحة الأولى ضغطت على موافق فانت شوف بالكود :

هل الحقل الاضافي الآنف الذكر فيه قيمة

0 ؟

نعم : حولها إلى واحد وحدث بيانات الموظف

1؟

أخبر المستخدم أنه تم التعديل عليه مسبقا

هذه هي الطريقة الأمثل برأيي لأننا نتعامل مع تطبيقات على مستوى الويب يا أخي الكريم

وعلينا أن نحسب كل عملية على أنها لا تعرف أختها ومكان الأمثل لاخبارها بها هي مصدر بيانات (كقاعدة بيانات SQL Server وغيرها)

تم تعديل هذه المشاركة بواسطة Arwany في 17 يونيو 2007 في 09:22

#6

أخي الكريم/ Arwany

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

شكرا لك. ولا أزال أطلب من الإخوة أن يشاركونا اذا بدرت في أذهانهم طريقة أخرى.

وكن ذاك الفتى إن مشى

قالوا هذا الأثر

للتواصل الفني

haitham.khaiyat@hotmail.com

#7

طيب خلينا نفكر بشكل منطقي قبل العمل بشكل تقني ...

هلأ اذا في صفحتين مفتوحات (أو 100 صفحة) على نفس الموظف

شو هوي الشي اللي رح يضمن انو اذا واحد منهم حاول تحديث بياناتو ولنفرض (موافق) ما يجي التاني ويحدث بياناتو (غير موافق)

أنا فهمت مشكلتك انو هادا الشي اللي عم يواجهك

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

طيب كيف ؟؟؟

في حل (بطريقة منطقية شوي) غير انو قلو يا أخي شفلي سجل هالموظف محدثو حدا من قبلي ؟

اذا 0 يعني ما حدا لسا حدثو وبامكانك يا موظف تحدث على كيفك

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

هلأ شوف في نقطة مهمة:

انو اذا الموظف الأول عم يبحث مع الموظف التاني

وتنيناتهم لقو السجل سوا فواحد رح يحدث السجل

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

هذا ما أعلم والله أعلم

#8

أخي Arwany

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

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

شكرا جزيلاا.

وكن ذاك الفتى إن مشى

قالوا هذا الأثر

للتواصل الفني

haitham.khaiyat@hotmail.com

#9

الله يجزيك الخير يا رب

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…