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来存取需要暂存的变量和对象了。
 
 
典型应用:查询以后绑定

\

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>
                &nbsp;&nbsp; 学生姓名<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
                &nbsp;&nbsp;&nbsp;&nbsp;<asp:Button ID="btnQuery" runat="server" Text="查询"
                    onclick="btnQuery_Click" />
            </td>
        </tr>
        <tr>
            <td align="center" style="padding-bottom: 20px; padding-top: 20px">

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • C#高级编程:数据库连接[1]
  • asp.net 设置GridView的选中行的实现代码
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET&#160;GridView列表代码示例
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1