ASP.NET ViewState
โดยการรักษาวัตถุในรูปแบบเว็บของคุณใน ViewState (มุมมอง) คุณสามารถบันทึกจำนวนมากของการเข้ารหัส
รักษา ViewState (มุมมอง)
คลาสสิก ASP เมื่อส่งแบบฟอร์มค่ารูปแบบทั้งหมดจะถูกลบ สมมติว่าคุณส่งแบบฟอร์มที่มีข้อมูลจำนวนมากและเซิร์ฟเวอร์กลับข้อผิดพลาด คุณต้องกลับไปแก้ไขแบบฟอร์ม คุณคลิกปุ่มย้อนกลับและแล้วสิ่งที่เกิดขึ้น ...... ค่ารูปแบบทั้งหมดจะถูกลบคุณต้องเริ่มต้นทุกอย่าง! เว็บไซต์ไม่รักษา ViewState ของคุณ
ในเมื่อการส่งแบบฟอร์มแบบฟอร์มร่วมกับค่าของฟอร์มที่ปรากฏร่วมกันในหน้าต่างเบราว์เซอร์ ASP .NET วิธีการทำมันได้หรือไม่ เพราะนี่คือ ASP .NET รักษา ViewState ของคุณ ViewState จะถูกส่งไปยังเซิร์ฟเวอร์เมื่อหน้าบ่งบอกถึงสถานะของ รัฐนี้จะผ่านในทุกหน้าด้วย <form runat = "เซิร์ฟเวอร์"> ควบคุมตำแหน่งของข้อมูลที่มีความละเอียดที่ซ่อนอยู่ รหัสที่มาเป็นดังนี้:
<input type="hidden" name="__VIEWSTATE"
value="dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=" />
.....some code
</form>
การดูแลรักษา ViewState เป็นค่าเริ่มต้นสำหรับฟอร์มเว็บ ASP.NET หากคุณไม่ต้องการที่จะรักษา ViewState ที่ด้านบนของหน้าขอบที่มีคำแนะนำ <% @ หน้า EnableViewState = "false"%> หรือเพิ่มคุณสมบัติ EnableViewState = "false" เพื่อการควบคุมใด ๆ
ดูไฟล์ต่อไปนี้ขอบ มันแสดงให้เห็นถึง "เก่า" โหมดการทำงาน เมื่อคุณคลิกที่ปุ่มส่งค่ารูปแบบจะหายไป:
ตัวอย่าง
<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
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>
การสาธิต >>