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

كيف يمكن ( تجميد ) الصفحة

مغلق
بدأه القرش1 في 29 يوليو 2007 · 15 رد · 1,273 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

قبل ان اكتب الموضوع بحثت عن اجابه في المنتدى فلم اجد

وسؤالي هو :

لدي العديد من الادوات في الصفحة مابين مربعات نص وقوائم منسدله ومربعات اختيار وغير ذلك , وهذه الصفحة استخدمها لغرضين هما عرض البيانات وفي نفس الوقت تعديل البيانات حسب الصلاحيات

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

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

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

اذكر انني رأيت مثالا مشابها لما اريد واعتقد انه باستخدام CSS ولكن لااعرف اين او كيف

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

وشكرا

#2

من الممكن عرض البينات فى Label فى حالة عدم وجود صلاحية للتعديل .

Post Back Is My Enemy And JavaScript Is my Weapon

#3

استخدم خاصية ReadOnly = true

#4

الأخ fligant استخدام label معناه تصميم صفحة من جديد بنفس عدد الادوات وهذا يؤدي الى تعقيد العمل حيث لابد من التبديل بين الحالتين هذا غير تأثيرها على الشكل العام للصفحة

الأخ أحمد طاهر الباز هذه الخاصيه لاتؤثر في القوائم المنسدله للأسف

ما ابحث عنه هو طريقه شامله لكامل الادوات على الصفحة مثلا هل لاحظتم النوافذ التي من نوع modal مثل Message Box وغيرها تلاحظون ان الشاشة التي خلفها او التي قامت باستدعائها مجمدة تماما ولايمكن عمل اي شئ فيها الا باغلاق الـ modal , هذا معروف تماما في بيئة الويندوز ولكن اذكر بأني شاهدت نفس الطريقه في تطبيقات ويب

#5

لماذا لا تدعهم يعدلون في الصفحة كما يشاءوون وتحتفظ بحق حفظ التعديلات للذين تتوفر لديهم الصلاحية فقط

The World Must Be Crazy

#6

مكرر

تم تعديل هذه المشاركة بواسطة newbie في 30 يوليو 2007 في 08:04

The World Must Be Crazy

#7

بصراحة موضوعك غريب...

فهو غير منطقي أن تطون طريقة العرض كما ذكرت

لقد عملت على صفحات غريبة وعجيبة ولكن هذه الصفحة هي الأغرب من نوعها

-المستخدم الذي لا يحق له تعديل البيانات يجب أن يرى View Panel

- المستخدم الذي يحق له تعديل البيانات يجب أن يرى View Panel

واذا سألت ما الفرق أقول لك بصراحة : السماحية تعطى على مستوى Form لزر Edit الموجود في مكان ما في View Panel وعند الضغط عليه سيتم اظهار Edit Panel

لن تقوم بالكثير من العمل ولكنك ستقوم بالكثير من الابداع

وعبارة :

اقتباس
( بالمنااسبة يتطلب المشروع استخدام نفس الادوات للعرض والتعديل لذلك فكرة عرض البيانات بطريقه اخرى لاتحل المشكله )

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

و Enable يذهب الاحترافية كما ذكرت ويعطل عرض بعض البيانات بشكل غر مناسب

#8
اقتباس
الأخ fligant استخدام label معناه تصميم صفحة من جديد بنفس عدد الادوات وهذا يؤدي الى تعقيد العمل حيث لابد من التبديل بين الحالتين هذا غير تأثيرها على الشكل العام للصفحة

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

Post Back Is My Enemy And JavaScript Is my Weapon

#9

ممكن تعمل usercontrol يظهر قائمة منسدلة أو label حسب property معينة ثم تستخدمها في جميع المشروع

#10

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

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

ولهذا لااستطيع التعديل الكبير على الصفحة حسب اقتراح الاخوة System Down و fligant

اقتباس
لماذا لا تدعهم يعدلون في الصفحة كما يشاءوون وتحتفظ بحق حفظ التعديلات للذين تتوفر لديهم الصلاحية فقط

هذا هو المعمول به حاليا اخي newbie ولكن المشكله ان المستخدم يبدأ مباشرة في الكتابة والاختيار قبل ان يضغط زر تعديل وعندما يتذكر ويضغط زر التعديل تختفي معظم ادخالاته بسبب عملية postback التي تتم

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

و Enable يذهب الاحترافية كما ذكرت ويعطل عرض بعض البيانات بشكل غر مناسب

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

لازلت اتمنى ان اجد لديكم الاجابه او الاقتراح المناسب واذا وجدت الحلول في مكان ما فسأكتبها هنا للفائده ...

#11

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

تم تعديل هذه المشاركة بواسطة القرش1 في 5 أغسطس 2007 في 22:27

#12

ما الفرق بين وضعية العرض والتعديل فيما وصلت إليه

The World Must Be Crazy

#14

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

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

عموما كل شئ موجود في الملف المرفق وهو عباره عن ملف html عادي بداخله الجافا سكربت التي تتحكم في العرض وبالمناسبه لتغيير درجة الشفافيه يمكن تغيير قيمة opacity بحيث تكون 0 بدلا من 70 فتبدو الصفحة مجمدة فعلا ...

اشكر كل من شارك في الموضوع وارجو ان يكون مفيدا للجميع

Freeze.zip

#15

بالفعل الصفحة جميلة جدا

ولكن لا ننسى أن مثل هذه الدرجة من الحماية هي من أسهل أنواع الحماية كسرا

فهي (بتعطيل الجافاسكريبت) تزول

هي بالفعل تقوم بمنع المستخدم من الادخال , الضغط , التعديل ... الخ

ولكنها لا تمنعه من نسخ المحتوى

قم بعمل Ctrl + A وستفهم قصدي

شكرا جزيلا أخ Scool

مميز دائما

تم تعديل هذه المشاركة بواسطة Arwany في 16 أغسطس 2007 في 09:09

#16

الأخ Arwany معذرة ... هل تقصد الصفحة التي قمت بوضعها في ردي الاخير ؟ والتي اسميتها Freeze.htm ام انك تتكلم عن رد الاخ Scool السابق لردي ?

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

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

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

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