عندما أقوم بتعديل بيانات ما في الصفحة وأقوم بحفظها
افاجأ بعد الرجوع للصفحة أن البيانات القديمة مازالت ظاهرة حتى اقوم بتحديث الصفحة يدويا F5 كيف يمكنني القيام بها تلقائيا عند الانتقال من صفحة لأخرى؟؟
Vb.net 2005
عندما أقوم بتعديل بيانات ما في الصفحة وأقوم بحفظها
افاجأ بعد الرجوع للصفحة أن البيانات القديمة مازالت ظاهرة حتى اقوم بتحديث الصفحة يدويا F5 كيف يمكنني القيام بها تلقائيا عند الانتقال من صفحة لأخرى؟؟
Vb.net 2005
__________________
شبكة النبع الصافي = www.annab3.net
منتديات النبع الصافي = http://www.annab3.net/forum/
مكتبة الدروس و المواعظ = http://www.annab3.net/doros/
مكتبة البرامج و السكريبتات = http://www.annab3.net/pro/
هلا اخوي البديل الاسلامي
المفروض انها تكون موجوده اخي اذا مايصير الا لما تعمل رفرش هذا بسبب الكاش في جهازك اتوقع وليس للغة دخل فيه
ملاحظة :- هناك نقطة في عمليات تحديث البيانات ال asp.net
وهي انك طبيعي سوف تكون جلبت البيانات الاصليه من قاعدة البيانات في حدث تحميل الصفحة
وعندما تدخل البيانات الجديدة وتضغط زر التحديث قبل ان ينفذ الكود الموجود في زر التحديث سوف يعيد تنفيذ حدث تحميل الصفحة وبالتالي يعيد البيانات الاصليه ويعمل تحديث وهكذا يظهر لك انه لم يقم بعمل اي تحديث لانه عاد وخزن نفس البيانات الي كانت موجوده
حتى تتدارك مثل هذه المشكلة
في حدث تحميل الصفحة ضع الكود الذي تقوم بافراغ البيانات الاصليه من خلال في داخل هذا الشرط
وهذه تمنع اعادة تنفيذ الكود مرة اخرى عند الضغط على زر التحديث او عند اجراء اي حدث اخر في الصفحةكود:If Page.IsPostBack = False Then هنا الكود End If
على حسب مافهمت من مشكلتك انها تتعلق بالكاش في جهازك وليس من الكود ولكن احببت ان اوضح هذه النقطة لاهميتها فقط
__________________
@_@
أخي الكريم
بخصوص وجود البيانات أثناء تحميل الصفحة مرة أخرى ذلك يرجع إلى خاصية اسمها ViewState
وهي وجدت أساسا لأن http module أو ما يسمى بطلب المصتفح هو stateless
بخصوص الأخ المشرف nothing4u
كلامه يلزمك ويفيدك إذا كنت لا تريد تحديث البيانات عند طلب الصفحة مرة أخرى
وذلك لتوفير التحميل على قاعدة البيانات لأن الفيو ستايت سيوفر عليك العناء
الحل بسيط وهو أن تقوم بمسح الصندوق النصي عند الأمر الذي تريده وفي حالتك الحدث الذي تريده هو حدث النقر على الزر
بامكانك أن تكتب التالي
Me.TextBox1.Text = ""
وهذا لكل صندوق نصي
ولكن ماذا لو كان عندك أكثر من صندوق مثلا عشرة صناديق
لنفترض أنه لديك بنل وفيها الصناديق واسم البنل هو Panel1
فعندها عليك استخدام التكرار
دعني أكتبها لك وألصقها
طبعا ضع الكود في حدث النقر على الزركود:For Each control As Control In Me.Panel1.Controls If TypeOf control Is TextBox Then Dim txt As TextBox = DirectCast(control, TextBox) txt.Text = "" End If Next
مع العلم أنه يمكن استبدالها بما تريد من أدوات أو أشكال
ولاحظ أنني استخدمت للتحويل DirectCast
وذلك لأنني أعرف الأداة كعامل أول ولا أريد التأكد من وجود وراثة ... فجميع الأدوات مشتقة من الفئة كونترول
ممكن استخدام بدلا منها
TryCast
أو
CType
وستعطي نفس النتائج
ولكن DirectCast ستوفر الطاقة على المعالج
أرجو أن تكون الفكرة وصلتك
__________________
بريدي :khalilme (at) hotmail.com
مطور: ASP.NET, Windows Phone , Desktop Applications
بارك الله فيكما على المساعدة التي قدمتمانها لي
اخي برمودا
المشكل حصل معي بالضبط عندما قمت بتعديل بيانات في صفحة بحيث عند تحديث الصفحة اجد البيانات التي عدلتها بدل الجديدة التي اضفتها مؤخرا؟؟
كيف يمكنني ان الزمه بعرض البيانات الجديدة بدل القديمة بعد التعديل
__________________
شبكة النبع الصافي = www.annab3.net
منتديات النبع الصافي = http://www.annab3.net/forum/
مكتبة الدروس و المواعظ = http://www.annab3.net/doros/
مكتبة البرامج و السكريبتات = http://www.annab3.net/pro/