پاسخ به:آموزش ASP.NET
یک شنبه 9 آذر 1393 12:42 AM
می توانید با استفاده از نگه داشتن ViewState یک شیء در کدنویسی صرفه جویی زیادی نمایید.
هنگامی که یک فرم در ASP کلاسیک، سمت سرور ارسال می شود، تمام مقادیر فرم پاک می شود. فرض کنید که فرمی با اطلاعات زیاد را به سمت سرور بفرستید و سرور یک خطا به شما بازگرداند. باید بازگردید و خطای فرم را برطرف نمایید. روی دکمه بازگشت کلیک می کنید، و تصور می کنید چه اتفاقی افتاده است. تمام مقادیری که به زحمت وارد کرده بودید، پاک شده است و باید از اول شروع به پر کردن فرم کنید. وبسایت ViewState شما را نگه نداشته است.
هنگامی که یک فرم در ASP.NET ارسال می شود، فرم در پنجره مرورگر با تمام مقادیر نمایش داده می شود. چگونه ممکن است؟ زیرا ASP.NET، در یک صفحه ViewState آن صفحه را نگه می دارد.
ViewState وضعيت صفحه، هنگامی که صفحه به سرور ارسال می شود، را نشان می دهد. وضعیت با یک سری فیلد مخفی که در هر صفحه بین کنترل <form runat="server"> قرار گرفته اند مشخص می شود. Source صفحه باید چیزی مشابه زیر باشد:
در فرم های ASP.NET به طور پیش فرض ViewState حفظ می شود. اگر بخواهید ViewState حفظ نشود، دایرکتیو <%@ Page EnableViewState="false" %> را به بالای صفحه اضافه کنید، یا ویژگی EnableViewState هر کنترل که قصد ندارید ViewState آن حفظ شود را false قرار دهید.
فایل aspx. زیر را ملاحظه فرمایید. روش قدیمی را نشان می دهد. هنگامی که روی یک دکمه کلیک می کنید، مقدار فرم ناپدید می شود.
در مثال زیر روش جدید ASP.NET آورده شده است. هنگامی که یک فرم ارسال می شود، مقادیر فرم ناپدید نمی شود.