سبد (0)

آموزش WebForm-مدیریت حالت

می توانید با استفاده از نگه داشتن ViewState یک شیء در کدنویسی صرفه جویی زیادی نمایید.


نگه داشتن ViewState

هنگامی که یک فرم در ASP کلاسیک، سمت سرور ارسال می شود، تمام مقادیر فرم پاک می شود. فرض کنید که فرمی با اطلاعات زیاد را به سمت سرور بفرستید و سرور یک خطا به شما بازگرداند. باید بازگردید و خطای فرم را برطرف نمایید. روی دکمه بازگشت کلیک می کنید، و تصور می کنید چه اتفاقی افتاده است. تمام مقادیری که به زحمت وارد کرده بودید، پاک شده است و باید از اول شروع به پر کردن فرم کنید. وبسایت ViewState شما را نگه نداشته است.

هنگامی که یک فرم در ASP.NET ارسال می شود، فرم در پنجره مرورگر با تمام مقادیر نمایش داده می شود. چگونه ممکن است؟ زیرا ASP.NET، در یک صفحه ViewState آن صفحه را نگه می دارد.

ViewState وضعیت صفحه، هنگامی که صفحه به سرور ارسال می شود، را نشان می دهد. وضعیت با یک سری فیلد مخفی که در هر صفحه بین کنترل <form runat="server"> قرار گرفته اند مشخص می شود. Source صفحه باید چیزی مشابه زیر باشد:

<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE"
value="dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=" />

.....some code

</form>

در فرم های ASP.NET به طور پیش فرض ViewState حفظ می شود. اگر بخواهید ViewState حفظ نشود، دایرکتیو <%@ Page EnableViewState="false" %> را به بالای صفحه اضافه کنید، یا ویژگی EnableViewState هر کنترل که قصد ندارید ViewState آن حفظ شود را false قرار دهید.

فایل aspx. زیر را ملاحظه فرمایید. روش قدیمی را نشان می دهد. هنگامی که روی یک دکمه کلیک می کنید، مقدار فرم ناپدید می شود.

مثال (آموزش WebForm-مدیریت حالت)

<html>
<body>

<form action="demo_classicasp.aspx" method="post">
Your name: <input type="text" name="fname" size="20">
<input type="submit" value="Submit">
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("Hello " & fname & "!")
End If
%>

</body>
</html>

در مثال زیر روش جدید ASP.NET آورده شده است. هنگامی که یک فرم ارسال می شود، مقادیر فرم ناپدید نمی شود.

مثال (آموزش WebForm-مدیریت حالت)

<script runat="server">
Sub submit(sender As Object, e As EventArgs)
lbl1.Text="Hello " & txt1.Text & "!"
End Sub
</script>

<html>
<body>

<form runat="server">
Your name: <asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
<p><asp:Label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

آموزش صوتی ASP

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه