关于全局变量 解决了再加50分

heimao111 2003-09-11 11:48:50
定义一个全局变量datatable
public dt as new datatable
在page_load处初始化。让它绑定数据库中的一个表
在button_click中修改其中的数据
显示错误:在位置0处没有任何行。
也就是说,在page_load处的初始化信息后,
在其他过程中调用时,并没有调用初始化后的表
还是定义的时候的
怎么解决这个问题

...全文
40 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianglinchun 2003-09-14
  • 打赏
  • 举报
回复
刚刚翻了翻书:

全局变量的生存期在asp.net页面的启动开始,一直到该页面结束为止,跨越了脚本中创建的所有函数。

真是不好意思,原来已经用过全局变量,但是一直不知道它叫全局变量。:(。

嗬嗬,又要补习以下基础知识了。
jianglinchun 2003-09-13
  • 打赏
  • 举报
回复
楼主的问题应该这样解决,我明白你想实现什么。
if (!page.ispostback)
{
//初始变量
}
else
{
//回传以后 变量值
}
如果是由其他事件引发的,那么相应的修改就好了,不过要把上面的else段去掉。:D
lzhco 2003-09-12
  • 打赏
  • 举报
回复
用static会不会对系统有影响啊,当它不用的时候,垃圾回收进程能自动回收它吗?谢谢.
cyp503 2003-09-11
  • 打赏
  • 举报
回复


把绑定数据的代码写在

if(!this.Page.IsPostBack){}里面
heimao111 2003-09-11
  • 打赏
  • 举报
回复
可是我在button_click 中对这个表进行了修改
datagrid绑定修改过的表
这样就不行了
每次绑定的还是初始化的表
jianglinchun 2003-09-11
  • 打赏
  • 举报
回复
同意小兔的说法。
heimao111 2003-09-11
  • 打赏
  • 举报
回复
这样做可以每次都绑定
可是在button_click 中
我对这个表又进行了修改,然后让datagrid绑定修改过的表
这个怎么实现
rabbitwy 2003-09-11
  • 打赏
  • 举报
回复
应该是绑定数据库表出问题了,建议单步调试,
对了,你绑定表不是放在if (!Page.PostBack)里做的吧?如果是,就去掉这行
luohzad 2003-09-11
  • 打赏
  • 举报
回复
aspx中没有全局变量,除非在前加了static。
就楼主这个问题而言,在page_load中更改了dataset中表的数据,在其他的地方调用dataset时,数据还是原来初始化时的值。
jb2008 2003-09-11
  • 打赏
  • 举报
回复
static 变量 是所有用户都能看到的,不能用。
pengcheng 2003-09-11
  • 打赏
  • 举报
回复
public static int employeeCounter;
duanxl 2003-09-11
  • 打赏
  • 举报
回复
用Session、Viewstate也可以
duanxl 2003-09-11
  • 打赏
  • 举报
回复
protected static Hashtable dataTable,既可以解决变量赋值问题,有不会发生不同的用户之间影响变量值的情况
csdn_bob 2003-09-11
  • 打赏
  • 举报
回复
用ViewState,
在page_load中
ViewState["table"] = dt;

在其它地方
DataTable dt = (DataTable)ViewState["table"];
//调用....
heimao111 2003-09-11
  • 打赏
  • 举报
回复
static怎么用?
pengcheng 2003-09-11
  • 打赏
  • 举报
回复
同意楼上的,最好用static.
duanxl 2003-09-11
  • 打赏
  • 举报
回复
我的经验认为,当网页每次刷新时包括全局变量、私有变量的定义都会重新执行一边,但是在if(!Page.IsPostBack)中的部分却不执行,所以在button_click时刷新页面,你的全局变量的值也就恢复为空了,不信的话你可以在定义时给他赋个初值,他永远为这个初值。

建议:用static变量解决
heimao111 2003-09-11
  • 打赏
  • 举报
回复
楼上的说清楚一些好吗
我没有用过viewstates
datatable的东西很多
用viewstates会不会很麻烦
iceflylee 2003-09-11
  • 打赏
  • 举报
回复
用viewstates
heimao111 2003-09-11
  • 打赏
  • 举报
回复
本来它就是全局的吗
用static 是不是就好了
可是static 怎么用啊
写到成员那
不行
写到代码中,就又不是全局的了
怎么办阿
加载更多回复(2)

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧