我有一个页面,list.aspx,在这个页面中有一个Repater,这个Repater绑定的数据中有一组多选按钮,每选中一个,就会取到该列的ID,然后该Repater的下面有一个提取按钮(类似于全选删除功能),当我点击这个按钮时,弹出另外一个页面--update.aspx,并且将Repater中多选按钮已经选中的行的ID值全部传给update.aspx这个页面。用update.aspx来接收这些已选中的值。
到上一步都很简单,我想做的是,我第一次在list.aspx页面的Repater中选择了多个值,例如我选择了1,2,5 然后我点击 提取按钮 1,2,5 的值就传给了 update.aspx ,然后我不关闭 update.aspx这个页面,回到list.aspx这个页面,选择3,6,7 然后再次点击 提取按钮 然后将值3,6,7传给 update.aspx这个页面,这个时候 update.aspx接收到的值应该就是1,2,5,3,6,7 ,然后我在update.aspx点击确定的时候 关闭这个页面 取值结束。
有人说到用内存来保存,我想知道具体该怎么做呢,如果用内存保存,我想在最后结束以后释放它,又应该怎么做呢?
用SESSION试试看呢
第一次将所选值保存入SESSION
第二次将新选的值继续加入到SESSION中,但并不将原有的清空
只有在update.aspx点击确定的时候才把session清空
这么办:
你用一个HiddenField 来保存选择的值。再把选择的值当成参数传给update.aspx
update.aspx?selectedValue=1,2,3,4,5,
你的弹出页面是什么形式的弹出。如果是用了dialog弹出插件、弹出镶嵌iframe的话。就简单了,直接js控制向update页的函数传递参数就ok。类似 iframe1.winow.set(newVal){追加选中值}。
如果不是这种形式,就是直接一个open页。或者showDialog出来的模式窗。有几种情况
1、update.aspx有刷新,重新打开。那就用querystring传递参数。hiddenField 保存历史选择数据。
2、update.aspx保持弹出,无刷新更新。用cookie保存参数。在目标页面 settimeout(时间间隔).
AjaxControlToolkit 中弹出控件ModalPopupExtender;能更好的传值。