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

كيف اقوم بحفظ المعلومات االمدخلة الى Textbox داخل المتصفح والرجوع اليها من خلال الرجوع للصفحة السابقة

بدأه خالد*الحربي في 14 يناير 2010 · 2 رد · 722 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اتمنى اجد حلا لهذه المشكلة حتى وباي سكربت كان ولو اني افضل الجافا او فيجول بيسيك

واكون لكم من الشااااااكرين كثيرا

#2

الأخ خالد الحربي

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

أنا ماني فاهم 100% ولكن إليك ما أعرفه

بالنسبة للـ ASP.NET هناك ما يسمى بالـ ViewState، وهي آلية حفظ حالة كل ما هو موجود في الصفحة الحالية، وبشكل إفتراضي ASP.NET تقوم بهذه العملية بشكل آلي، وهي بمعنى آخر: عندما تقوم بتعبئة نموذج تم إنشائه عن طريق ASP.NET وبعد ذلك تقوم بإرسال البيانات عن طريق الضغط على Submit Button ولنفرض أن خطأ حدث في السيرفير ، تتولد الصفحة من جديد وبها نفس البيانات المدخله (ما عدا الحقول الخاصة، مثلا كالحقول التي حددت بأنها تحوي كلمة مرور)، كيف تم ذلك ؟؟ ASP.NET did it all for you.

في كل مرة تقوم بها بإدخال حقول أو Controls في صفحة معينة (TextBox, DropDownList, GridView, ListView ... etc) تقوم ASP.NET بإدخال حالة الحقل في حقل مخفي Hidden Field فيه وصف كامل لحالة كل حقل أو Control معين وكل الحقول التابعه له Child Controls في أي صفحة تحوي

<form runat="server">

. مثلا انا قمت بإنشاء صفحة بها فقط TextBox و Button ، عندما أعرض الصفحة بإستخدام أي متصفح وأقوم من خلالة بعرض المصدر View Source سوف أجد هناك حقلين مخفيين كما هو موضح أدناه (وهذا لا يعني أنه لو كان هناك ثلاثة Controls سيكون هناك ثلاثة حقول مخفية)

<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="xitp5iAInYr79GsrM8B3hHL9K0YIxtKnzA_8dONxSDI1" />
	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwLdg+4qApXLqbMGAtiaiR5PUGVKxamt3nqY9b+lm0aOTZ4Low==" />

لو تلاحظ أن الحقلين المخفيين بالنسبة لنا ليس له معنى ولكن بالنسبة لـ ASP.NET فهما يحويان وصف كامل لحالة الصفحة الحالية. ولكن أخي العزيز كل شيء يأتي بثمن، فعملية حفظ الحالة السابقة للصفحة تكلف وقت للمعالجة وتحميل الصفحة وهناك حالات يكون من الحكمة إبطال هذه الميزة. يمكنك إبطال هذه الميزة للصفحة كاملة عن طريق الـ Page Directive كما هو موضح في الأسفل

<%@ Page EnableViewState="false" %>

أو يمكنك إبطال هذه الميزة لـ System.Web.UI.Control معين عن طريق الـ Property المسمية EnableViewState كما هو موجود في الكود التالي

<asp:TextBox ID="myTextBox" runat="server" EnableViewState="false" />

لمزيد من المعلومت أتبع الرابط التالي :

http://www.w3schools.com/ASPNET/aspnet_viewstate.asp

في النهاية يا أخ خالد نم قرير العين فالـ ASP.NET ستقوم بحفظ بيانات كل من يزور موقعك بشكل آلي

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

#3

اخوي Robatic ,,,

ما شاء الله تبارك الله عليك.. عيني عليك بارده ..

حقيقة استاذي انت اجدت فهم المشكلة والاجمل شرحك الذي ادخل هذذه النقطة الى المخيخ وليس فقط المخ ..

اكرري شكري وتقديري استاذي ,,,

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

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

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

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

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