asp.net中viewState的应用
来源:未知 责任编辑:责任编辑 发表时间:2013-12-18 11:35 点击:次
我们先看网上的一对问答
private int x;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
x = 1;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
x++;
Response.Write(x.ToString());
}
这里每次调用都输出1,为什么不是递增?如果我想定义在当前页的变量如何定义。
这是因为x只是一个局部变量,在一次的网页请求,等到网页执行完毕的时候就会被回收,这时候x就已经不存在了,下次再访问的时候又会是一个新的x变量。
除了传统的Asp中的Session对象外,Asp.net提供了一个更好的ViewState对象。ViewState对象用来保存页面中的各种变量,甚至是对象。使用方法和HashTable类似,只要用变量名称做索引,如ViewState["Var"],就可以用存取变量Var的值,而不管Var是普通变量,还是对象,甚至是内存中的一张DataTable,太方便了。为什么可以用ViewState而不能用static变量哪?原因就是服务器端会为每个连接到该页面的用户分别建立一个ViewState,所以ViewState相当于页面级的Session。这下我们可以放心地使用ViewState来存取需要暂存的变量和对象了。
典型应用:查询以后绑定
private int x;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
x = 1;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
x++;
Response.Write(x.ToString());
}
这里每次调用都输出1,为什么不是递增?如果我想定义在当前页的变量如何定义。
这是因为x只是一个局部变量,在一次的网页请求,等到网页执行完毕的时候就会被回收,这时候x就已经不存在了,下次再访问的时候又会是一个新的x变量。
除了传统的Asp中的Session对象外,Asp.net提供了一个更好的ViewState对象。ViewState对象用来保存页面中的各种变量,甚至是对象。使用方法和HashTable类似,只要用变量名称做索引,如ViewState["Var"],就可以用存取变量Var的值,而不管Var是普通变量,还是对象,甚至是内存中的一张DataTable,太方便了。为什么可以用ViewState而不能用static变量哪?原因就是服务器端会为每个连接到该页面的用户分别建立一个ViewState,所以ViewState相当于页面级的Session。这下我们可以放心地使用ViewState来存取需要暂存的变量和对象了。
典型应用:查询以后绑定
aspx关键代码
<tr>
<td align="center" style="padding-bottom: 20px; font-weight: bold; padding-top: 20px">
www.2cto.com 所在院系<asp:DropDownList ID="drpCollege" runat="server" Height="22px" Width="140px">
</asp:DropDownList>
学生姓名<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="btnQuery" runat="server" Text="查询"
onclick="btnQuery_Click" />
</td>
</tr>
<tr>
<td align="center" style="padding-bottom: 20px; padding-top: 20px">
相关新闻>>
- FormView显示、更新、插入、删除数据库操作[ASP.NET源代码](一)
- FormView显示、更新、插入、删除数据库操作[ASP.NET源代码](二)
- FormView显示、更新、插入、删除数据库操作[ASP.NET源代码](三)
- 如何理解async和await设计模式和如何应用到.net 4以下的framewor
- asp.net中js合并,压缩
- ASP.NET页面之间传递值的几种方式
- ASP.NET之Datalist详解(分页)
- ASP.NET(C#)验证数字
- ASP.NET MVC Razor视图引擎攻略
- 巧用section在cshtml写入layout中写入head信息 ASP.NET MVC
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>