최신 웹 개발 튜토리얼
 

ASP.NET웹 양식 - viewstate가 유지


당신은 당신의 웹 폼의 개체의의 ViewState를 유지하여 코딩을 많이 절약 할 수 있습니다.


viewstate가 유지

양식이 고전적인 ASP에 제출되면, 모든 양식 값이 지워집니다. 가정 당신은 많은 정보와 양식을 제출하고 서버는 다시 오류와 함께 제공됩니다. 당신은 다시 형태로 돌아가서 정보를 수정해야합니다. 당신은 뒤로 버튼을 클릭하고 무슨 ....... 모든 형태의 값이 삭제됩니다, 당신은 모든 것을 다시 시작해야합니다! 이 사이트는 당신의 ViewState를 유지하지 않았다.

양식이 ASP .NET에 제출되면, 양식 모든 양식 값과 함께 브라우저 창에 다시 나타납니다. 어떻게? ASP .NET이 당신의 ViewState를 유지하기 때문이다. 서버에 제출하면 ViewState를 페이지의 상태를 나타냅니다. 상태는 <양식 RUNAT = "서버"> 제어 각 페이지에 배치 숨겨진 필드를 통해 정의된다. 소스는 다음과 같을 수 있습니다 :

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

.....some code

</form>

viewstate가를 유지하는 것은 ASP.NET 웹 폼의 기본 설정입니다. 당신의 ViewState를 유지하지하려면, .aspx 페이지의 상단에있는 지시어 <% @ 페이지의 EnableViewState = "false"를 %>를 포함하거나 컨트롤에 속성의 EnableViewState = "false"로 추가 할 수 있습니다.

다음에서 .aspx 파일을 봐. 그것은 보여줍니다 "old" 그것을 할 방법을. 당신이 제출 버튼을 클릭하면 양식 값이 사라집니다 :

<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의 방법입니다. 당신이 제출 버튼을 클릭하면 양식 값은 사라지지 않습니다 :

ASP .NET이의 ViewState를 유지하는 형태로 숨겨진 필드를 추가 한 것을 확인하기 위해 예를 들어 오른쪽 프레임에서 소스보기를 클릭

<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>
»예보기