ASP.NET之ViewState对象

HTTP协议是“无状态”的,造成服务器无法记住特定用户的请求。

Web服务器不会保留每次浏览器所发Http请求的具体信息和当时的状态。

即使请求来自同一个浏览器,它也将其视为“陌生人”,绝不会“记得”浏览器在不久之前曾经“拜访”过自己。

ASP.NET专门提供了在一个网页多次请求之间保存信息的对象:viewState(视图状态)对象来模拟“成员变量”的角色。

public partial class 练习1_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        {
            ViewState["Counter"] = 0;
        }
    }
    
    protected void btnCal_Click(object sender, EventArgs e)
    {
        int counter =Convert.ToInt32 ( ViewState["Counter"]);
        counter++;
        this.ltaCounter.Text = counter.ToString();
        ViewState["Counter"] = counter;
    }

ViewState中保存的数据全部被转换成object类型,取出时务必强制转换成特定类型。

ViewState只能在同一个页面的连续多次请求之间保存信息,页面跳转后信息就会丢失。

猜你喜欢

转载自blog.csdn.net/qq_37589387/article/details/89000778