
به وبلاگ آموزش برنامه نویسی خوش آمدید ، برای شما لحظات خوشی را در این وبلاگ آرزو می کنم . این وبلاگ با هدف آموزش برنامه نویسی با تمام زیان ها ایجاد شده است به همین خاطر مطالب این پایگاه گلچینی از بهترین آموزش ها در اینترنت می باشد . من "رضا عبدالملکی " دانشجوی دوره کاردانی رشته کامپیوتر از شهرستان دورود در استان لرستان هستم و منتظر نظرات ، پیشنهادات و انتقادات شما می باشم . موفق و پیروز باشید .




تاريخ ايجاد وبلاگ: شنبه 2 آبان 1388
بروز رساني:چهارشنبه 12 خرداد 1389
تعداد نظرات داده شده : 73 نظر
كل مطالب ارسال شده: 791 عدد
همانطور که می دانید ViewState نمایش دهنده وضعیت Page در آخرین پردازشی است که توسط Server انجام شده است و به صورت یک Hidden Input در محتویات Page به صورت encrypted نگهداری می شود.
بدیهی است در هر Request ، ViewState بین Client و Server در رفت و آمد می باشد و این یعنی اگر ViewState حجم زیادی داشته باشد سرعت Load شدن صفحه به شدت پایین می آید که این مسئله خلاف اصول اولیه طراحی Web Site می باشد. به عنوان مثال اگر شما از DataGrid استفاده می کنید که 100 رکورد را نمایش می دهد بسته به تعداد ستونهایی که دارید حجم ViewState ممکن است بین 100 تا 300 کیلو بایت افزایش یاید در حالی که به طور استاندارد حداکثر حجم Page باید 30 کیلو بایت باشد.
برای قرار دادن ViewState در Session کافیست دو متد زیر که در کلاس Page به صورت Virtual تعریف شده اند را Override کنیم:
object LoadPageStateFromPersistenceMedum()
برای خواندن Page State از Session و قرار دادن آن به عنوان ViewState در Return Value و متد
void PageStateFromPersistenceMedum(object viewState)
با استفاده از این روش حجم ViewState در Page دقیقا صفر بایت می شود در حالی که آبجکت ViewState سمت Server معادل وقتی است که از این روش استفاده نکرده باشید.

