各位大虾、牛人,小弟碰到一个问题,怎么都想不通。
我在进入一个页面的时候,在Page_Load上面定义一个静态变量static获取url地址中的参数获取不到,而把static去掉就能获取到呢?
public static string houseid =HttpContext.Current.Request["houseid"].ToString().Trim();
为什么我把static去掉就能获取到url的参数
和静态字段的初始化有关,初始化的时候有可能QueryString还没有初始化。QueryString是在asp.net页面的生命周期中才有的。
如果你把赋值写在Page_Load中,就可以取到值了。
static
静态成员通常用于表示不会随对象状态而变化的数据或计算,无论对象发生什么更改,静态成员都不会随之变化。
不需要创建类的实例就可以调用该类中的静态方法、字段、属性或事件。
如果创建了类的实例,不能通过使用实例来访问静态成员。
静态方法和属性只能访问静态字段和静态事件。静态方法调用非静态的方法,必须先实例化一个对象。
静态类的一个重要特点就是共享,所以通常使用静态变量来保存当前类的实例数目。
答非所问
同惑,求解,跟静态字段的初始化有关吗?那也不应该是这样的啊。。。
跟asp.net的生存周期有关?