ASP.NET - ViewState ను పరిపాలించడం
- ముందు పేజీ వెబ్ఫార్మ్స్ ఫారమ్
- తరువాత పేజీ వెబ్ఫార్మ్స్ టెక్స్ట్ బాక్స్
వెబ్ ఫారమ్ లో అన్ని వస్తువుల వ్యూహ్స్టేట్ (వ్యూహ్స్టేట్) ను పరిపాలించడం ద్వారా, మీరు గణనీయమైన కోడింగ్ ను తప్పించవచ్చు.
ViewState ను పరిపాలించడం
క్లాసిక్ అస్ప్.నెట్ లో ఫారమ్ సమర్పించబడినప్పుడు, అన్ని ఫారమ్ విలువలు శుభ్రం చేయబడతాయి. మీరు గణనీయమైన సమాచారం కలిగిన ఫారమ్ ను సమర్పించినప్పుడు, సర్వర్ ఒక తప్పు తిరిగి చెప్పినప్పుడు, మీరు ఫారమ్ ను తిరిగి పొంది, దానిలో సమాచారాన్ని సరిచేయాలి. మీరు బ్యాక్ బటన్ ను క్లిక్ చేసినప్పుడు ఏం జరుగుతుంది... అన్ని ఫారమ్ విలువలు శుభ్రం చేయబడతాయి, మీరు ప్రతిదీ మళ్ళీ ప్రారంభించాలి. సైట్ మీరు మీ ViewState ను పరిపాలించడానికి కాదు.
అస్ప్.నెట్ లో ఫారమ్ సమర్పించబడినప్పుడు, ఫారమ్ అన్ని ఫారమ్ విలువలతో పునఃకలిగించబడుతుంది. ఎలా చేస్తారు? ఇది అస్ప్.నెట్ యొక్క 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 ను పరిపాలించడం అస్ప్.నెట్ వెబ్ ఫారమ్ యొక్క డిఫాల్ట్ సెట్టింగ్. మీరు ViewState ను పరిపాలించడానికి కావలసిన ఉండకపోతే, .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 నిర్వహించవచ్చు.
- ముందు పేజీ వెబ్ఫార్మ్స్ ఫారమ్
- తరువాత పేజీ వెబ్ఫార్మ్స్ టెక్స్ట్ బాక్స్