我用 VS.2008 开发 ASP.NET 程序,使用 Access 数据库
我的 GridList 的数据源是一个 ObjectDataSource。ObjectDataSource的缓存功能已经禁用(EnableCaching="False")。且在页面的 Load 的事件中添加了this.Response.Expires = 0;
我添加一条记录后调用 GridList 的 DataBind 方法希望新添加的数据马上显示在列表中。但令人气愤的是有时候就是不显示出来,有时又能显示。经常的情况是添加A不显示,添加B后,A显示出来。我在 ObjectDataSource 的事件中监控存数取数都没有问题。
我想一定是哪里有个缓冲的功能没有禁掉。大家有没有遇到这个问题?
有一个办法可以解决就是让当前的线程等待 1 秒钟,不过这个解决方法太龌龊了。
另,以前是用 GridList 与 AccessDataSource 绑定,出现这种错误的概率更高,改为 ObjectDataSource 概率低了。
------解决方案--------------------------------------------------------
你把哪个禁用了?然后才来调用?没有太明白
------解决方案--------------------------------------------------------
添加B后,A显示出来------你是不是指:先添加了A然后DataBind(),但是A没有显示出来。再添加B,再DataBind(),这时页面刷新后A出来了,B却没有出来??
楼主把你的代码简化下贴出来让大家看下。
------解决方案--------------------------------------------------------
up
JF
------解决方案--------------------------------------------------------
经常的情况是添加A不显示,添加B后,A显示出来。
--------
看样子是绑定的地方错了
应该是在添加完成之后重新绑定的
------解决方案--------------------------------------------------------
DataBind()之后,页面不刷新,数据就显示不了.
确认你在添加数据后,进行DataBind(),并且页面会立即刷新.
看下页面刷新事件执行没有.
------解决方案--------------------------------------------------------
添加之后得重新绑定一下,我就知道这些。