ASP.NET页面运行机制与C#全局变量
昨晚写程序遇到一个问题:先从数据库中获取数据赋值给页面中的textbox.text,按后修改textbox中内容,将新的值赋值给一个实例化的类的属性,结果出现:textbox中的内容没变,而且在pageload页面加载函数中定义的类,已经获得的属性值。在另外一个button事件中调用这个类时发现类的属性都是空值。后来通过摸索终于知道问题的原因了:
1、ASP.NET的页面中你每次点击button等按钮事件,提交页面时。都会从新加载下pageload事件,这样的话,你明明对页面中的textbox赋了新值,就又被覆盖掉,所以你看到的还是没变,解决办法是 在paglaod里面加一个if(!isPostBack),这样防止页面第二次加载。
2、第二个错误是因为C#全局变量定义的问题。应该在变量前面加个statick,定义成静态变量。