GridView控件js删除行后台获取值问题

zhaowentao_bc 2013-03-28 06:00:21
比如说我现在一个GridView控件绑定了10行数据,我在前台为了客户体验,删除行的时候用js进行了删除,但是当页面回发的时候,后台获取GridView.Rows.Count的值还是10,应该是9才对呀?在前台已经对这个数据行进行DOM删除了,为什么会这样呢,求高手解答?
js实现如下:
function DelGridRow(obj){
var gridview1 = document.getElementById("<%=gv_obj.ClientID%>");
if (gridview1 == null) return;
var rowIndex = obj.parentElement.parentElement.rowIndex;
gridview1.deleteRow(rowIndex);
}
...全文
137 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我是老姚 2013-03-29
  • 打赏
  • 举报
回复
引用 2 楼 zhaowentao_bc 的回复:
引用 1 楼 aley 的回复:你这只是删除了DOM对象,而GridView的数据源并没有变。而且到后台的时候你的GridView是不是又重新绑定了呢。如果重新绑定那么他的COUNT必然还是10个。到后台后没有重新绑定哦!请求结束后,GridView的数据不都在页面中存储了吗,我在页面中进行了删除,回发页面还是不变,这点有点晕乎?求解答
你可以想一下如果要存在页面中怎么存?生成的html代码中哪一部分可以表示这些数据源,唯一的地方就是ViewState,ViewState其实就是生成的HTML页面中的hidden,你可以查看html源,看一下hidden里面的value。都是加密的字符串,也就是说数据源是经过序列化并加密后变成了hidden的value属性里的字符串,如果想把数据源里的一行删除,那么你就需要将这个value的字符串解密,反序列化,修改,再序列化,加密,而这几乎是无法完成的。所以,虽然gridview里面的dom元素删除了,但事实上gridview所绑定的数据源并没有删除
子夜__ 2013-03-29
  • 打赏
  • 举报
回复
尝试用JQuery ajax 删除后同步数据。 或者用一些用户体验比较好的JQuery插件 类似jqgrid
zhaowentao_bc 2013-03-29
  • 打赏
  • 举报
回复
引用 1 楼 aley 的回复:
你这只是删除了DOM对象,而GridView的数据源并没有变。而且到后台的时候你的GridView是不是又重新绑定了呢。如果重新绑定那么他的COUNT必然还是10个。
到后台后没有重新绑定哦!请求结束后,GridView的数据不都在页面中存储了吗,我在页面中进行了删除,回发页面还是不变,这点有点晕乎?求解答
我是老姚 2013-03-28
  • 打赏
  • 举报
回复
你这只是删除了DOM对象,而GridView的数据源并没有变。而且到后台的时候你的GridView是不是又重新绑定了呢。如果重新绑定那么他的COUNT必然还是10个。

62,244

社区成员

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

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

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

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