ASP.NET - ViewState برقرار رکھنا
- پچھلے پیج فرم WebForms
- پائیدار پیج TextBox WebForms
Web فرم میں نظر حالت (ViewState) برقرار رکھنے کے ذریعے آپ کو بہت سے کوڈنگ کا کام سادہ بن سکتا ہے.
ViewState برقرار رکھنا (نظر حالت)
جب classic ASP میں فرم کا سابمٹ کردیا جاتا ہے تو تمام فرم کی مالامال ختم ہوجاتی ہیں. تصور کریں کہ آپ نے بہت سے اطلاعات والا فرم سابمٹ کردیا ہے اور سوروئر نے ایک غلطی واپس فراہم کردی ہے. آپ فرم واپس لوٹ جائیں گے، اور وہاں کی معلومات کو ترمیم کریں گے. آپ نے ریٹرن بٹن پر کلک کیا تو کیا ہوگا... تمام فرم کی مالامال ختم ہوجاتی ہیں اور آپ کو پھر سے سب کا پورا کام شروع کرنا پڑتا ہے. سائٹ نے آپ کا ViewState برقرار نہیں رکھا.
جب ASP .NET میں فرم کا سابمٹ کردیا جاتا ہے تو فرم اور تمام فرم کی کی مالامال کے ساتھ دوبارہ ابھر جاتا ہے. کیسے ممکن ہوتا ہے؟ یہ اسلئے ممکن ہوتا ہے کہ ASP .NET آپ کا ViewState برقرار رکھتا ہے. ViewState پیج کو سوروئر کو ارسال کردیگا تو اس کی حالت کا نشان دہی کرتا ہے. ہر پیج میں ایک <form runat="server"> کنٹرول میں ایک خفیہ علاقہ رکھ کر ہم پیج کی حالت کو دکھا سکتے ہیں. اس طرح کا سورس کوڈ ممکن ہوتا ہے:
<form name="_ctl0" method="post" action="page.aspx" id="_ctl0"> <input type="hidden" name="__VIEWSTATE" /> value="dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=" /> .....کوئی کوڈ </form>
ViewState برقرار رکھنا ASP.NET وeb فرم کا دفعہ طور پر سیٹ کیا جاتا ہے. اگر آپ نظر انداز کرنا چاہتے ہیں تو .aspx پیج کے اوپر کمان لائن شامل کریں: <%@ Page EnableViewState="false" %>، یا کسی بھی کنٹرول کو اپنی خاصیت شامل کریں: EnableViewState="false".
مزید دیکھئے نیچل .aspx فائل. وہ پرانے چلنے کا طریقہ دکھاتا ہے. جب آپ سابمٹ بٹن پر کلک کرتے ہیں تو فرم کا مالامال ختم ہوجاتا ہے:
<html> <body> <form action="demo_classicasp.aspx" method="post"> آپ کا نام: <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 طریقہ ہے۔ جب آپ سونپ سکم پر کلک کرتے ہیں تو فرم کا مالامال نہیں ہوجاتا:
<script runat="server"> Sub submit(sender As Object, e As EventArgs) lbl1.Text="Hello " & txt1.Text & "!" End Sub </script> <html> <body> <form runat="server"> آپ کا نام: <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 .NET فرم میں ایک پنهان فیلڈ اضافہ کر چکا ہے، جس سے ViewState کا استحکام رکھا جاتا ہے。
- پچھلے پیج فرم WebForms
- پائیدار پیج TextBox WebForms