ASP.NET - स्टेट व्यू (ViewState) रखना

वेब फॉर्म में वस्तु के स्टेट व्यू (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) बनाए रखा है。)