读书人

用CallBack更新GridView的有关问题

发布时间: 2012-03-03 15:33:03 作者: rapoo

用CallBack更新GridView的问题
请教各位

目前我的作法是当在客户端按下按钮 (如删除)之后

CallBack回server端操作GridView 再将操作完毕的GridView以html形式

传回客户端更新页面

问题是当我成功的编辑资料后 客户端的GridView也正确的更新了

但当我下次在CallBack回server端的时候 抓取GridView状态却是停留在 未修改前的状态.....

导致抓到不正确的数值 而无法对资料进行操作



程式码流程大概如下

Public Function GetCallbackResult() As String Implements System.Web.UI.ICallbackEventHandler.GetCallbackResult

判断命令

呼叫相对应的function(ex: DeleteData)

将要更新的html传回客户端

End Function



Public Sub DeleteData()

呼叫操作数据库function <------第二次执行到这 却发现GridView维持在 未修改前的状态

呼叫DataBind function(GridViewBind)

End Sub

Public Sub GridViewBind()

到数据库重新select资料

GridView.DataBind <-----第一次执行完 bind立刻看GridView的确是修改过的状态

End Sub

我以单步执行确定 数据库的确有更改了 也有重新bind了

怎么还会如此@@???

麻烦各位给点提示吧!


[解决办法]
不是很明白?deletedata为什么要执行两次?
[解决办法]
我还没有看你的代码,待会看。我看到你前面两段话,就有一个事实要告诉你:客户端回调并不能正常保存ViewState到客户端,但是客户端回调却要从客户端取ViewState(对应的隐藏域)到服务器。结果,回调之后,当再次回调时,服务器端控件的状态都根本是第一次回调之前的,而不是本次回调之前的。

读书人网 >asp.net

热点推荐