如果我使用受保护的变量,整个Web应用程序是否存在该变量,或者当用户通过get或post移动到其他页面时是否会删除该变量?我知道除非我使用静态变量,否则在其他页面中无法访问它,但我很好奇它是否存在于整个应用程序中。请让我知道!
答案 0 :(得分:1)
当您移动到其他页面并返回时,将创建页面类的新实例,因此将重置所有非静态变量。
该值在一个请求进程生命周期内有效(从请求开始开始到请求结束)
使变量受保护,只意味着此变量在继承的类中是可访问的。例如在asp.net中,您可以在继承的类中使用它,就像在标记内部一样(因为它继承了类后面的代码)
这是受保护变量的含义
如果您想在页面之间保存一个值,可以根据您的要求使用其中一个项目:
和ViewState将状态变量保留在同一页面或控件中的回发之间,而不会重定向到另一个页面。
答案 1 :(得分:1)
protected
关键字不确定变量存在多长时间,也不确定它是否在下一篇文章中可用。
你可能正在寻找的是国家管理。
看一下this webpage,了解如何在帖子后面,不同页面等之间保持状态。
另请查看this page以确定在哪种情况下使用哪种状态管理功能。
答案 2 :(得分:1)
通常,“页面”变量仅存在于请求的持续时间内。如果您的变量是静态的,那么在应用程序域卸载之前,所有请求只会有一个变量实例。
如果您的变量是私有或受保护的,则其他任何类都无权访问它。
然而,你的问题似乎有点奇怪。你有什么关系?