关于父窗口给页面中的iframe传递数据的问题

framework2.0

要达到效果

当点击gridview中任一条记录的linkbutton(在RowDataBound时,捆有唯一标识该条记录的id)时,下面的iframe可以显示详细的编辑页面,并且显示该条记录的各个field值。要求每次点击时,整个页面不刷新,只有iframe刷新。

我的问题是,如何把点击的那条记录的所有属性值都传给iframe?


因为gridview绑定的datatable里的值是从不同server上远程取回来拼接成的,相当麻烦。每条记录都含有很多信息。如果每次只传焦点记录的id给iframe,然后重新去取该条记录的信息的话,并不是不可以,只是我觉得似乎损耗很大,所以希望可以利用已经取出来的存在datatable中的值。

其实这个效果如果允许整个页面刷新的话,我已经实现了。但现在要求用iframe局部刷新,不允许刷新全页面了...

原来的方法:

dt = (DataTable)ViewState["datatable"]; //用ViewState["datatable"]存的就是绑定gridview的数据源
DataRow[] row = dt.Select("id='" + ((LinkButton)sender).CommandArgument.ToString()+"'"); //整个页面刷新时,我用这种方法取出具体每条记录信息。然后依次把各个属性赋值给各个控件...

现在要求局部页面刷新的话,我应该怎么在不刷新整个页面的前提下,把每一条数据的所有datarow里包含的信息都传给iframe呢?不刷新页面就不能执行后台代码那怎么取值传值啊? (┬_┬)

 

之前没有使用过iframe的经验,现在完全傻了,不知道该如何着手,请大家给点建议。关于我上面现有的做法有地方做的不好的,也欢迎大家指点,谢谢了!

(因为某些原因不允许使用ajax,所以选择了iframe,所以请大家不要建议我如何用ajax实现了... Orz)

繁星点点滴滴
浏览 351回答 8
8回答

达令说

没什么好建议,只有想说: 如果每次只传焦点记录的id给iframe,然后重新去取该条记录的信息的话,并不是不可以,只是我觉得似乎损耗很大 ------------------- 并没有你想象的损耗很大的情况存在,相比,你用了现复杂的代码去实现,更显的损失更大:一来是精力,二来是代码更为多杂。 合理的判断性能及用简洁的方法实现功能,是一门我们大家需要学习与掌握的。

MYYA

您说的有道理,确实按目前的情况来看,我要按这个思路想下去会花费很多的时间和精力,可是如果用id重新去取单挑记录的信息的话,为了拼全每一条记录所需要的全部信息真的是很麻烦,要连接两遍不同的远程服务器分别取值,然后想办法拼接什么的....很多操作感觉几乎就是重复之前的部分,可是又没法跟之前的操作合并到一起代码重用什么的,于是就有点不甘心。我现在确实是有点纠结不知道该怎么办好了。。。 (┬_┬)

大话西游666

忘了说,那个远程服务器的连接情况也不是很好,速度很慢,这也是我尽可能的想减少连接他们的原因之一。。。。 (┬_┬)

冉冉说

非常感谢您的指点,可是。。。jquery也不可以用啊。。。。 我哭了。。。 (┬_┬)

慕无忌1623718

。。。 上面指示不让用我能咋办? (┬_┬)
打开App,查看更多内容
随时随地看视频慕课网APP