ASP.NET保护变量

时间:2011-04-10 04:25:29

标签: asp.net variables protected

如果我使用受保护的变量,整个Web应用程序是否存在该变量,或者当用户通过get或post移动到其他页面时是否会删除该变量?我知道除非我使用静态变量,否则在其他页面中无法访问它,但我很好奇它是否存在于整个应用程序中。请让我知道!

3 个答案:

答案 0 :(得分:1)

当您移动到其他页面并返回时,将创建页面类的新实例,因此将重置所有非静态变量。

该值在一个请求进程生命周期内有效(从请求开始开始到请求结束)

使变量受保护,只意味着此变量在继承的类中是可访问的。例如在asp.net中,您可以在继承的类中使用它,就像在标记内部一样(因为它继承了类后面的代码)

这是受保护变量的含义

如果您想在页面之间保存一个值,可以根据您的要求使用其中一个项目:

  • 曲奇
  • 查询字符串
  • 会话状态
  • 申请国
  • 高速缓存

和ViewState将状态变量保留在同一页面或控件中的回发之间,而不会重定向到另一个页面。

答案 1 :(得分:1)

protected关键字不确定变量存在多长时间,也不确定它是否在下一篇文章中可用。

你可能正在寻找的是国家管理。

看一下this webpage,了解如何在帖子后面,不同页面等之间保持状态。

另请查看this page以确定在哪种情况下使用哪种状态管理功能。

答案 2 :(得分:1)

通常,“页面”变量仅存在于请求的持续时间内。如果您的变量是静态的,那么在应用程序域卸载之前,所有请求只会有一个变量实例。

如果您的变量是私有或受保护的,则其他任何类都无权访问它。

然而,你的问题似乎有点奇怪。你有什么关系?