چند نفر از دوستان پرسيده اند كه ViewState چيست ؟
همانطور كه مي دانيد HTTP يعني پروتكلي كه براي ارسال و دريافت درخواست ها از طريق مرورگر بكار ميرود بطور ذاتي بي وضعيت (Stateless) مي باشد. اين پروتكل روشي را براي تشخيص درخواست هايي كه از سوي يك ويزيتور فرستاده مي شود براي سرويس دهنده وب اراهه نمي دهد و بنابراين نگهداري وضعيت و نسبت دادن آن به يك كاربر منفرد براي سرويس دهندهي وب مشكل مي شود. خوب تا اينجا.
يكي از وضعيت هايي كه مديريت آن توسط ASP.NET صورت مي گيرد وضعيت كنتل هاي Server است اگر با ASP كلاسيك كار كرده باشيد مي دانيد كه حفظ وضعيت المانهاي HTML موجود در صفحه ASP كلاسيك هنگاميكه كاربر از يك صحفه به صفحه ديگر مي رود كار سختيست. ASP.NET با ارايه كنترلهاي Server اين مشكل را حل كرده است (طرف سرور) و كليه كنترلهاي Server مي توانند وضعيت خود را حفظ كنند و براي اين كار از سولوشني بنام ViewState استفاده ميكند.
ViewState يك فيلد پنهاني است كه اطلاعات تمام المانهاي موجود در صفحه را در خود نگهداري مي كند.