繁体   English   中英

在asp.net中的ViewState?

[英]ViewState in asp.net?

在Web应用程序中,我创建一个viewstate仅在页面内维护变量的值,我可以在WinForms中使用viewstate之类的东西来维护表单内的值吗?

您实际上并不需要Windows窗体中的viewstate,因为您可以使用公共属性将状态存储在例如主窗口类中。 只要您的主表单有效(通常是应用程序的生命周期),状态就会被保留。 如果您需要在应用程序关闭后保持状态,可以将其存储在文件或数据库中。

在ASP.NET中,ViewState是必需的,因为在每个请求之后,ASP.NET表单都会被破坏,并且您无法在其中存储实例变量。 您可以使用静态成员,但是会遇到问题,因为此ASP.NET应用程序的所有用户之间共享静态成员。

存在ViewState可以避免网站使用HTTP(无状态协议)这一事实。 为了给人一种错觉,在每次POST时,会将编码数据的负载发送到客户端,然后再返回到服务器。 这是ViewState。

Windows Forms程序具有状态,只要该程序处于打开状态,它就一直在运行。 因此,您可以仅在表单类中使用成员变量。

您可以使用XML或数据库来序列化这些值

由于应用程序是有状态的,因此您可以根据需要存储数据-内存中的集合,类的字段,文件,xml,db。 Viewstate旨在在回发之间存储数据,并且在winforms应用程序中没有回发。

在Windows Fom中,无需在ViewState或会话中保存值。 链接

但是,如果要在asp.net表单之间维护值,则可以使用Session

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM