问题描述
我在客户端给gridview填充了一些数据,结果在服务器端无法获得这些数据,请问有什么好办法?有同事让我把gridview里的数据放到一个隐藏域里,然后从隐藏域获得。有没有更好的解决方案?
解决方案
解决方案二:
貌似大牛?那么多花花。
解决方案三:
...你没看花花的时间吗?2000年不是大牛,是老牛了
解决方案四:
GridView在客户端就是table中的数据!后台循环这个GridView(table)怎么会得不到数据呢??
解决方案五:
11年前的大牛,,现在是砖家级别了
解决方案六:
引用2楼tyro的回复:
...你没看花花的时间吗?2000年不是大牛,是老牛了
大牛是不是因为填充的数据太多,全部放到一个hidden里面后台分析觉得麻烦了?
解决方案七:
一般来说都能获取到的可能是用js动态添加的一些东西服务端是获取不到的
解决方案八:
把Gridview里的数据取出来构造json传递到后台jqueryajax
解决方案九:
引用7楼wxr0323的回复:
把Gridview里的数据取出来构造json传递到后台jqueryajax
这样的话,和我把数据取出来放到隐藏域里,传递到后台没有本质上的差别啊
解决方案十:
引用5楼zell419的回复:
大牛是不是因为填充的数据太多,全部放到一个hidden里面后台分析觉得麻烦了?
呵呵,倒不是麻烦,就是觉得这种方式太笨了.不知道有没有好办法
解决方案十一:
gridview里就是从客户端用js添加的数据,在服务器端获取不到
解决方案十二:
引用10楼tyro的回复:
gridview里就是从客户端用js添加的数据,在服务器端获取不到
这个是的。一个DropDownListjs改变后都获取不到,何况是个GridView。
解决方案十三:
是可以取到的!设置成模版列,将默认的Label改成TextBox,(当然为了和Label的外观一样,可以设置无边框,只读等等)例如js设置第0行第0列vargv=document.getElementById("GridView1");vartxt=gv.rows[1].cells[0].getElementsByTagName("input");txt[0].value="aaa";后台获取:stringstr=((TextBox)GridView1.Rows[0].FindControl("TextBox1")).Text;
解决方案十四:
直接用Jquery取值。。。。然后AJAX提交到后台。。。这样可以省一步存在隐藏中吧。。
解决方案十五:
呵呵。我觉得全部用ajax更好,返回json格式。什么隐藏域也不需要。
解决方案:
后台通过name获取表单值的
解决方案:
引用12楼lvyichang的回复:
是可以取到的!设置成模版列,将默认的Label改成TextBox,(当然为了和Label的外观一样,可以设置无边框,只读等等)例如js设置第0行第0列vargv=document.getElementById("GridView1");vartxt=gv.rows[1].cells[0].getElementsByTagName("input");txt[0].……
这个办法其实就是把无数个textbox放在gridview的每个单元格里
解决方案:
引用14楼jianshao810的回复:
呵呵。我觉得全部用ajax更好,返回json格式。什么隐藏域也不需要。
能否说详细些?好几年没碰程序了,ajax不熟,json也不熟,现在用的是updatepanel隐藏域里好像不能传递XML格式的字符串?
解决方案:
引用4楼chai1338的回复:
11年前的大牛,,现在是砖家级别了
哇~!NB!