清清楚楚asp.net ( 三 ) :ViewState
ViewState概述
页面在初始化的时候,asp.net会在页面内建ViewState属性,我们可以将需要保存的数据放到视图状态的集合中,以达到在页面回发的时候保存数据的目的。
使用ViewState以前,需要注意以下内容:
1.ViewState依赖于字典集合。
2.ViewState中的每一项通过唯一的字符串名字进行索引。
我们在给视图集合的某个索引项赋值的时候,如果视图集合中存在该索引项,则赋值;如果没有,则改索引项将会被自动添加并赋值。
在尝试从视图集合中取出某个索引项的值的时候,如果视图集合中不存在此索引项的时候,将会抛出异常。
因此我们在取值的时候,通常会加个判断。
例如:
代码
if (ViewState["test"] != null)
{
int test = (int)ViewState["test"];
}
3.ViewState可以保存简单数据类型和自定义对象。
4.任何通过索引字符串从ViewState中取出来的数据都是Object类型,我们需要显式的将其转换成需要的类型,如上例。
使用ViewState的一个例子
html
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br/>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br/>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br/>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br/>
<asp:Button ID="Button1" runat="server" Text="Save" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="Restore" onclick="Button2_Click" />
<asp:Button ID="Button3" runat="server" Text="SaveWithDictionary" onclick="Button3_Click" />
相关文档:
ObjectDataSource 控件基于 SelectMethod、InsertMethod、UpdateMethod 或 DeleteMethod 属性中所标识的方法名称以及组成业务对象方法签名的参数名来调用业务对象方法。在业务对象中创建方法时,必须确保业务对象方法所接受的参数名和类型与 ObjectDataSource 控件传递的参数名和类型匹配。(参数顺序并不重要。)
  ......
1. 用Response.Write方法
代码如下:
Response.Write("<script type='text/javascript'>alert("XXX");</script>");
此方法缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定 义,比如
Response.Write("<script type='tex ......
1. PreInit()在这个页面级的事件中,所有在设计时创建的控件都将被用默认值做初始化。例如,如果你有一个Text属性值为"Hello"的TextBox控件,则此时这个属性被设置。我们也可以在这里动态的创建控件。这个事件仅仅发生在页级别的类中,用户控件和母版页没有这个事件。下面的代码示例了如何重写这个方法以增加你的自定义代码 ......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
StartClientCaching();
......