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

حفظ واسترجاع كود من Db وتنفيذه في Runtime

بدأه aziz_sh3 في 9 مارس 2008 · 10 رد · 1,246 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

بداية:

-----

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

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

الهدف:

-------

جعل المصمم حر في تصميم القوائم وخلافها دون رؤية كود البرنامج وجعله يعرف فقط المتغيرات المحددة للعناصر

السؤال:

-------

أحتاج إلى تخزين كود في database عباراه عن html + varibles بحيث ان المصمم يرفع الكود إلى DB وفي وقت التنفيذ يقوم complier بأخذ code وتنفيذه بحيث يستبدل اسماء المتغيرات بنواتجها التي في الصفحة .. مثال

قمت بعمل الآتي

Dim Ds As New System.Data.DataSet
Dim Da As New System.Data.SqlClient.SqlDataAdapter("SELECT * FROM Table", ASP.global_asax.Conn)
Da.Fill(Ds, "mo")
label1.text= Ds.Tables("mo").Rows(0).Item("eeeecode")	 ' حيث هنا يأخذ الكود من الداتابيس وينفذه بناءاً على ماسبق

وأكون مخزن في DB التالي

"<a text-decoration:none' href='" & Ds.Tables("mo").Rows(0).Item("eeeeLink") & "'>" & Ds.Tables("mo").Rows(0).Item("eeee") & "</a>"

أو بطريقة أخرى

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

كيف أخزن كود في الداتابيس وأنفذه في وقت التنفيذ أيا كان هذا الكود ؟

أطيب التمنيات

تم تعديل هذه المشاركة بواسطة aziz_sh3 في 9 مارس 2008 في 12:52

#2

سؤال خارج الموضوع .. حيث أخذني الفضول ..

هل تستخدم تقنية الـ DotNetNuke في مشروعك ؟

، تحياتي لك .

#3

مرحبا جوليا

أبداً لم أستخدم أي تقنية .. الفكرة فكرتي 100%

وهي تختلف كثيراً عن DotNetNuke حيث هي مبنية على أنه يتم تسليم الموقع للشركة وهي تقوم بتصميم الواجهات ورفعها على الموقع إضافة إلى إدارتها بشكل سهل ومبسط .. طيب الى الآن مافي شي جديد ؟؟ صحيح لكن الجديد أنه لايوجد موقع اصلا قتقوم الشركة الهدف بإنشاء ايضا مواقعها وإضافة ماسبق لها ..

هل تتخيلين كم يحتاج لبناء موقع يحتوي على عدد 6 مواقع فرعية كل موقع فيها له تصميم الخاصة وأجزاءه الخاصة بل كم يحتاج لوحة تحكم

لإدارة هذا العدد الكبير من الأجزاء والأقسام .. بناءاً على هذه المشكلة بنيت مشروعي وستكونين من أول من يعمل test عليه

أطيب التمنيات

#4

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

أما عن سؤالك فأظن أن هذا عادي جداً يمكن أن يتم .. يعني مثلاً أضف Label إلى الصفحة .. ثم في RunTime قم باستدعاء كود محفوظ في DB واعرضه في Label.Text .. ستجد أن الكتابة تعرض حسب ما تستدعي من كود ..

جرب مثلاً:

Label1.Text = "<h1>Hi World!</h1>";

ستجد أن الصفحة تعرض بالطريقة التي أدخلت بها القيم أثناء RT ..

في انتظار ردك

ASP.NET Team Leader

moh_kin_mah@hotmail.com

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

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

#5

أهلا أخي الحبيب

شكرا لإطرائك وأتمنى أن أكون عند حسن الظن

بالنسبة لما ذكرت صحيح إلا أنني أريد أن أضع كود vb وليس html حيث html لاتحتاج إلى متغيرات كما أريد في سؤالي

لتوضيح الصورة:

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

1- تم تعريف متغير من نوع integer ووضع قيمة 3 فيه :

Dim Test As Integer

2- تم تخزين في قاعدة البيانات s في جدول d في الحقل testfield التالي : Test

3- تم اسناد قيمة للـ label كالتالي :

label1.text = Ds.Tables("mo").Rows(0).Item("testfield")

فأريد أن يظهر في label رقم 3

أتمنى أن تكون الفكره واضحة

أطيب التمنيات

تم تعديل هذه المشاركة بواسطة aziz_sh3 في 9 مارس 2008 في 16:12

#6

لم أفهم جيداً أخي الكريم .. وما المفيد أن تظهر قيمة 3 في Label ؟؟؟ هل هذا صعب ؟؟؟

أعذرني لضعف فهمي

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

ASP.NET Team Leader

moh_kin_mah@hotmail.com

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

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

#7

بداية أشكر لك هذا التجاوب والذي أتمنى أن يكون بداية تواصل مفيدة في ما بيننا

انا واجهتني مشكلة معينة وهي التالي:

عند إنشاء أربع مواقع فرعية لموقع رئيسي سيتم عرض الاخبار بنفس الترتيب وليس بنفس التصميم فلكل موقع صور خاص به

فمثلا موقع رقم 1 سيتم عرض الاخبار كالتالي:

- صورة

- عنوان الخبر

- شرح مبسط للخبر

- رابط للمزيد من التفاصيل

وسيحدث ذلك في جميع المواقع الفرعية

أما لو كان مدير موقع رقم 2 يريدها ان تظهر بهذا الشكل

- صورة وفي نفس الوقت رابط للمزيد من التفاصيل

- عنوان الخبر

فلن نستطيع عملها الا بتغيير طريقة الأخبار في جميع المواقع

ولكن عندما نعمل التالي فإنها ستحدث بشكل ممتاز :

- اضف موقع جديد

- اضف قائمة أخبار جديدة ===> وهنا يتم تحديد طريقة العرض مثال 1

label1.text = <a href='Ds.Tables("mo").Rows(0).Item("testfield")'>Ds.Tables("mo").Rows(0).Item("testfield")</a>

مثال2

label1.text = <a href='Ds.Tables("mo").Rows(0).Item("testfield")'><img src='' /></a>

طبعا الذي يضاف فقط مابين <a> وليس label1.text

بحيث ان المصمم يعرف أسماء الحقول ويضعها في تصميم html بهذه الصيغة Ds.Tables("mo").Rows(0).Item وهكذا

في حال تريد شرح أكثر أنا حاضر

أطيب التمنيات

تم تعديل هذه المشاركة بواسطة aziz_sh3 في 9 مارس 2008 في 17:00

#8

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

لم افهم المطلوب بالضبط لكن اعتقد انك تريد عرض النص ك HTML لذلك استخدم الاداة Literal بدل Lable فهذه الاداة تعرض النص ك HTML مثلا

Literal1.Text = "<h1>ArabTeam</h1>"

ستظر كملة ArabTeam كعنوان

#9

فهمتك أخي الكريم .. الفكرة جميلة ولكنها تحتاج لـ "تفتيح مخ" ..

وحتى نصل للحل الجذري أريد أن أسألك:

1- هل احتمالات تغيير التصميم لا نهائية أم أنك تريد أن تحدها بعدد معين من الترتيبات والتنسيقات ؟؟

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

2- ما مدى الأدوات التي سيتم التحكم فيها ؟؟؟ بمعنى هل مثلاً المدير له حق وضع صورة مكان صورة أخرى موجودة أم فقط إعادة ترتيب المتاح ؟؟

3- ما مدى ثقافة مدير الموقع ؟؟ هل سيكون شخص عادي جداً أم ملماً بقواعد التحرير بواسطة HTML وغيرها ؟؟؟

في انتظار ردك أخي الكريم

تم تعديل هذه المشاركة بواسطة moh_kin في 10 مارس 2008 في 09:11

ASP.NET Team Leader

moh_kin_mah@hotmail.com

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

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

#10

ممتااااااااااااااااااز جدا جدا

فعلا ما أريده وجدته في ردك ..

أولا: الفكره تقريبا اكتمل تنفيذها وتوقفت عند المسألة التي ذكرتها سابقا.

تعقيب على اسئلتك:

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

- هل احتمالات تغيير التصميم لا نهائية أم أنك تريد أن تحدها بعدد معين من الترتيبات والتنسيقات ؟؟

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

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

2- ما مدى الأدوات التي سيتم التحكم فيها ؟؟؟ بمعنى هل مثلاً المدير له حق وضع صورة مكان صورة أخرى موجودة أم فقط إعادة ترتيب المتاح ؟؟

نعم مع القدرة على ترتيب المتاح

3- ما مدى ثقافة مدير الموقع ؟؟ هل سيكون شخص عادي جداً أم ملماً بقواعد التحرير بواسطة HTML وغيرها ؟؟؟

لدينا حالتين :

1- اذا كان يريد العمل على التصميم القياسي فلايحتاج إلا لمهارات التحرير فقط

2- اذا كان يريد العمل على تصميمات خاص بمؤسسته فيحتاج إما لمصمم أو دوره انا عاملها مصغره تكفيه ليعمل مايريد

طبعا مع العلم أنه يوجد ملف css مرفق مع كل مشروع ليكون التصميم كألوان وخطوط متناسق

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

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

في انتظار ردك أخي الكريم

#11

لقد قابلتني هذه الفكرة بالفعل في واقعي العملي .. كانت الفكرة أن أحد مواقعنا ترسل رسائل لمشتركي الموقع .. وهناك بيانات بالرسائل يتم تغييرها باستمرار .. وذلك يتطلب منا كل شوية نعدل على الموقع ونغير ببعض بيانات الرسائل .. فجاءت لي فكرة أن أجعل هذه التعديلات بيد إدارة الموقع وليس مع كل تغيير يرجعوا إلى المبرمجين .. فقمت بتكوين جدول بقاعدة بيانات الموقع يحفظ تنسيق الرسالة على شكل HTML .. وبه بعض الكلمات المفتاحية -سأوضح مقصدي بالكلمات المفتاحية بعض قليل- ..

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

هذه كانت الفكرة .. وإليك أخي الكريم نموذج

السيد المحترم
mUserName
يسرعنا تبليغك أن حسابك بالموقع قد تم تفعيله .. 
على أن يبدأ سريان حسابك من تاريخ 
mFromDate

إلخ .. وطبعاً واضح الكلمات المفتاحية التي استخدمتها والتي أستبدلها أثناء RunTime بالقيم الحقيقية .. ولاحظ أخي أنني وضعت تحت يد الإدارة جميع الإمكانيات المتاحة للتنسيق كيفما يشاؤوا .. فيمكنهم نقل مثلاً mUserName إلى أي مكان آخر وهكذا ..

وبالمثل يمكنك أخي أن تفعل هذا .. مثلاً تصيف Label بالصفحة ويأخد قيمة Text له من قاعدة البيانات التي سيعدل محتواها أفراد الإدارة ..

وطبعاً واضح هنا أنك بحاجة لمدير موقع ملم بالـ HTML وكذا أيضاً القيم المفتاحية التي ستستخدمها في كودك ..

في إنتظار ردك اخي الكريم

ASP.NET Team Leader

moh_kin_mah@hotmail.com

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

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

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

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

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

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

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