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

Updatepanel Partial Postback

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

السلام عليكم

أنا استخدم asp.net مع Ajax

فهل أستطيع تحديث جزء من الكود وليس كامل الكود في الصفحة عندما اعمل أكشن معين؟

جربت مثلا أن أضع زر داخل الUpdatePanel حتى يتحدث جزء الزر فقط عند الضغط عليه

ولكن وجدت أن كامل كود الصفحة يتحدث

فهل يوجد طريقة أخرى لعمل ذلك

أرجو مساعدتي ..

#2

أجعل الـ updatepanel1.mode=action

وضع هذا الأمر في زر الcommand

updatepanel1.update()

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#3

شكرا الساحر على الرد ولكن حتى لو جعل updatepanel1.mode=condition لن تحل مشكلته لان هذه الواصفة تكون القيمة الافتراضية لها هي always تعني ان تحديث panel يكون بشكل دائم و condition يتم تحديث الـpanel ولكن ليس بشكل دائم يعني في بعض الاحيان تحتاج الى استدعاء الطريقة update

من أجل حل مشكلة الاخ Game

أولا :ضع جميع العناصر التي سوف يتم تحديثها أو تعديلها ضمن updatepanel

ثانياً:اذا كان لدينا عنصر مثلا button يقوم باستدعاء طريقة أو تغير بواصفة من العناصر الموجودة ضمن updatepanel فيجب علينا وضع الـbutton ضمن الـupdatepanel السابقة أو وضعه بـupdatepanel أخرى أو جديدة والسبب في ذلك ان هذا العنصر إذا لم يكن داخل updatepanel فحتماً سوف يقوم بتحديث جميع الصفحة وهي الحالة الافتراضية لعنصر asp,net أو بمعنى أخر سوف يتم تحميل الصفحة من جديد

وشكراَ

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#4
اقتباس
والسبب في ذلك ان هذا العنصر إذا لم يكن داخل updatepanel فحتماً سوف يقوم بتحديث جميع الصفحة وهي الحالة الافتراضية لعنصر asp,net أو بمعنى أخر سوف يتم تحميل الصفحة من جديد

صدقت وهذا هو المغزى من الموضوع

تم تعديل هذه المشاركة بواسطة السـاحر في 7 ديسمبر 2007 في 22:22

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#5

اشكركم اخواني

لكن أنا لاحظت انه عند استخدام الupdatePanel يبدو في الرن وكأن الصفحة لم تتحدث لكن هو فعليا قام بتحديث الكود بالكامل

يعني أن جميع المتغيرات فقدت قيمتها ورجعت الى القيمة الإبتدائية لها

سويت هذا مثال بسيط وضعت فيه عدّاد له قيمة ابتدائيه صفر

وفي كود الزر قمت بعمل تزايد لهذا العداد

فتلاحظ انه في الرن كل مره يكون العداد له نفس القيمة

معناه انه في كل مره اضغط فيها الزر يتحدث كود الصفحة بالكامل

وهذه هي المشكلة عندي

أنا اريد أن احتفظ بقيم المتغيرات

فهل هذا ممكن؟

AJAXEnabledWebSite4.zip

تم تعديل هذه المشاركة بواسطة Game في 8 ديسمبر 2007 في 08:50

#6

أهلا ياأخي

أولا: الصفحة مفهوم الويب يختلف عن مفهوم الـdesktop أي برنامج عادي

ثانيا:انت يجب ان تعرف ان الصفحة التي تبنى بالويب تنفذ عند الـserver وأي متحولات وأي بنى سوف تدمر أي تحذف ولن يبقى أي شي من موارد المشروع,يعني انت عندما انت في كل مرة تضغط على الزر يقوم الـserver بتنفيذ محتوى الصفحة وبذلك تحميل قيمة للمتحول counter بمعنى اخر في كل مرة سوف يتم تدمير المتحول وانشاؤه مرة اخرى وهكذا في هذه الحالة سوف تبقى قيمته

ملاحظة: حتى لو استخدمت عناصر ajax المفهوم نفسه

الحل:

الطريقة 1:

با لاتستخدم متحول counter ويكون الزيادة على label نفسه يعني بكل مرة تأخذ محتوى الـlabel وتزيده وهكذا سوف يتم حفظ القيمة

الطريقة 2:

ان تستخدم الـsession تقوم بتصريح متحول داخل الـsession وهكذا سوف يتم المحافظة عليه ضمن السيرفر أو تستخدم viewstate أو cookie

الطريقة 3:

ان تستخدم عنصر html hiddenField تضع فيه القيمة من أجل الحفاظ عليه

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

AJAXEnabledWebSite4.zip

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#7

مشكور جداً أخي

ما بعد شفت المثال الحين لكن الشرح واضح

توني أفهم صحيح

الله يجزاك كل الخير ويوفقك دنيا وآخره

#8
Game كتب:
مشكور جداً أخي

ما بعد شفت المثال الحين لكن الشرح واضح

توني أفهم صحيح

الله يجزاك كل الخير ويوفقك دنيا وآخره

اهلا وسهلاً

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





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

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

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