你的位置:首页 > 软件开发 > ASP.net > ASP.NET Core——状态管理之视图状态

ASP.NET Core——状态管理之视图状态

发布时间:2015-04-04 14:00:15
在实际项目中,常常需要保存用户信息来简化掉一些不必要的重复动作,提供人性化和智能的交互方式。然而HTTP协议是无状态的,每个新页面请求都是接。ASP.NET提供了保存状态的不同选项,使得状态额可以在客户端或服务器上保存。  要在客户端保存状态,ASP.NET提供了视图状态、coo ...

  在实际项目中,常常需要保存用户信息来简化掉一些不必要的重复动作,提供人性化和智能的交互方式。然而HTTP协议是无状态的,每个新页面请求都是接。get='_blank'>ASP.NET提供了保存状态的不同选项,使得状态额可以在客户端或服务器上保存。

  要在客户端保存状态,ASP.NET提供了视图状态、cookie和参数选项。因为安全问题,使用这些状态有一些限制。在服务器端可以使用会话对象、全局应用程序状态、缓存和用户配置文件来保存状态。

  ASP.NET也提供了一些用于访问状态管理功能的属性。例如,HttpSessionState对象可以在Page类的Session属性中直接访问。也可以使用HttpContext获得HttpSessionState,HttpContext.Current返回活动的HttpContext对象,这个类的Session属性也可以返回HttpSessionState。

  下面将分别解析这些不同的状态管理选项。示例使用ASP.NET Web Forms页面及Textbox、Label和Button控件,来演示不同的状态功能。

视图状态

  视图状态仅在页面内部可用。只要用户位于同一个页面中,就可以使用视图状态。视图状态在页面中创建隐藏的HTML字段,该字段会发送给服务器,因为它位于<form>标记中。视图状态可以使用Page的ViewState属性来访问,ViewState会返回一个StateBag对象。把一个键值传递给索引器,就可以使用视图状态来读写数据。

  在以下示例代码中:

protected void Button1_Click(object sender, EventArgs e)  {    Label1.Text = string.Format("TextBox1.Text:{0}", TextBox1.Text);    Label2.Text = string.Format("ViewState[\"state1\"]{0}", ViewState["state1"]);    ViewState["state1"] = TextBox1.Text;  }

原标题:ASP.NET Core——状态管理之视图状态

关键词:ASP.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。