| 代码说明:ASP.NET控件可以自动保持视图状态(view state).所有的标准的标准的ASP.NET控件都会保留它们的状态。
下面代码中的<span id="mylabel" runat="server">,Span转为一个控件。在包含该控件的页面执行自身提交时,赋值给该控件的任何文本每次都会保留下来。
执行下面的代码,你会发现输入的所有访客留言簿的条目在表单的底部也保持了下来,这些条目存储在<span>标记的视图状态中。用户名和评论域的内容被添加到<span>标记显示的文本中,是同下面的代码实现的:
entries.innerHTML="<hr>"&username.Value&"<P>&comments.Value&entries.innerHTML
如要查看<span>标记的视图状态是如何被保持的呢?当你查看HTML页面的源代码时(若使用IE,选择查看菜单下的源文件),就会注意到如下一段隐藏的表单域:
<input type="hidden" name="_VIEWSTATE" value="....../>
注意视图状态只在表单被自身时才保持。如果你离开该页面,访问中国搜的主页面,然后返回这个页面,视图状态消失
<Script Runat="Server">
Sub Button_Click( s As Object, e As EventArgs )
entries.innerHtml = "<hr>" & username.Value & "<p>" & comments.Value & entries.innerHTML
End Sub
</Script>
<html>
<head><title>Guestbook.aspx</title></head>
<body>
<form Runat="Server">
<b>Username:</b>
<br><input id="username" type="text" size="30" Runat="Server">
<p>
<b>Comments:</b>
<br><textarea id="comments" cols=60 rows=10 Runat="Server"></textarea>
<p>
<input type="submit" value="Add Comment"
OnServerClick="Button_Click" Runat="Server">
<span id="entries" Runat="Server" />
</form>
</body>
</html>
|