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

سؤال: عن كيفية حفظ /تحميل ال ViewState لل Controls

مغلق
بدأه Bassam Basamad في 16 يونيو 2005 · 4 رد · 808 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لقد قمت بعمل مثال بسيط بحيث يقوم هذا المثال..بإضافة اربع TextBoxes ..الى صفحة ال aspx ..(لاحظ عملية الإضافة تتم من خلال الضغط على زر معين(Button ) ومن تم اضافتها الى الصفحة at run time)....سؤالي كيف أقوم بحفظ(Save ) ال ViewState حق ال TextBoxes في صفحة ال aspx ...لكي اتمكن من الوصول الى تلك ال TextBox مرة أخرى....؟؟...اي اريد ان حفظها يدويا...لأن ال aspx page ..لايقوم بحفظها بعد الحدث OnLoad ..فصفحة ال aspx ..تقوم بحفظ ال ViewState لل Controls ..بعد ال Initialization..اي بعد OnInit Event ..وقبل Load Event ..اي إذا قمت بإضافتها في داخل الدالة OnInit ..يقوم بحفظ ال ViewState ..ولكن إذا قمت باضافتها بعد..لايقوم بحفظها..بسبب دورة حياة الصفحة..فهل هناك طريقة أخرى غير أضافتها اثناء Initialization..أقوم من خلالها بحفظ ViewState ..؟؟؟؟

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

وشكرا

techvisio.gif

اللهم انصر إخواننا المجاهدين في كل مكان..

#2
اقتباس
اي إذا قمت بإضافتها في داخل الدالة OnInit

انت قلت انك تضيف حقول النص عند النقر على الزر وليس بداخل OnInit !! ,هل الهاء اعلاه في "باضافتها" تعود على حقول النص ام على ال ViewState ؟

#3

اي إذا قمت بإضافتها في الدالة OnInit ..فإن عملية ال Save ..تشتغل لكن عند الضغط على الزر فلا تشتغل..(لا يحفظ)..وأنا لااريد ان اقوم بإضافتها في OnInit ..

الها حق ال TextBoxes..

تم تعديل هذه المشاركة بواسطة Bassam Basamad في 16 يونيو 2005 في 21:38

techvisio.gif

اللهم انصر إخواننا المجاهدين في كل مكان..

#4

اذا كان فهمي صحيحا للسؤال فاعتقد انه يلزم عليك اضافة العناصر سواءا قبل النقر على الزر او بعده لان الصفحة تقوم بحفظ ال ViewState لكن اذا لم يتم العثور على العناصر بعد النقر على الزر (بسبب عدم اضافة العناصر من جديد) فان الViewState ستذهب هباءا.

ما تقوم به الصفحة عند استرجاع ال ViewState هو البحث عن العناصر التي تنتمي لها اجزاء ال ViewState ثم تقوم باعادة تعيين خصائص العناصر من جديد فمثلا يتم اعطاء قيمة الخاصية TextBox.Text من خلال :

TextBox1.Text = Request["TextBox1"]

يتم استرجاع قيمة حقل النص (القيمة القديمة) من ال ViewState بعد مناداة الدالة Init وقبل Load وهذا ما حصل معك.يتم بعد ذلك قراءة القيمة الجديدة من خلال ال Request في دالة LoadPostData .

#5

شكرا استاذ مدني على تواصلكم معي..

ولكني لا أريد في الدالة init ..وإنما أريد حفظ ال viewstate يدوي لل controls ..لكي استطيع استرجاعهم مرة اخرى..في ال Post Back الثانية اي بعد الضغط على زر حفظ المعلومات وقراتهامن ال controls الذي قمت بعملها في ال Post Back الأولى..فهل توجد طريقة لعمل ذلك أخي..؟؟ :(

وشكرا جزيلا

techvisio.gif

اللهم انصر إخواننا المجاهدين في كل مكان..

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

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