####高手进来!求教一个传递session的解决方案

guxiangdefeng 2005-05-23 11:53:45
有一个主页面,其中有一个按钮用来打开另一个页面.
主页面与打开的页面之间用session来传递一些值.

现在我在该页面执行2次操作,打开2个相同的页面.
如果都用session("111")传值,但是希望传递给2个页面的值分别为"123"和"456".
那么在打开第2个页面时,第1个页面使用的session("111")的值会被覆盖掉.
需要传递的session有多个,页面可打开多次请问各位高手,有什么好的解决方案.
...全文
159 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
hchxxzx 2005-05-23
  • 打赏
  • 举报
回复
这种做法不行.你何必一定要用SESSION来传递值呢?直接从弹出的窗口去读取该页面的值就可以了.或者也可以从本页面直接传递值给弹出的窗口

1.直接传递参数给打开的页面
onclick="window.open('xxx.aspx?id=" + document.all('id').value + "','','')"

2.从弹出窗口直接读取父页面值(脚本)
值 = opener.document.all("id").value;
aaron_lly 2005-05-23
  • 打赏
  • 举报
回复
给session一个数组,,,不知道可不可以,,,
smx717616 2005-05-23
  • 打赏
  • 举报
回复
我感觉这样你就不能用session...
wssmax 2005-05-23
  • 打赏
  • 举报
回复
功能好像很复杂呢。
同时打开两个相同页面,传递的参数肯定也是一样啊。
du9232 2005-05-23
  • 打赏
  • 举报
回复
up
whslovexyp 2005-05-23
  • 打赏
  • 举报
回复
真是BT的要求啊.关注.
lq6745 2005-05-23
  • 打赏
  • 举报
回复
是否可以将session的名字每次动态生成,名字不一样了值肯定就不一样了!也许可以吧
syeerzy 2005-05-23
  • 打赏
  • 举报
回复
你用不用Session,客户还能知道???你不要放URL里就可以了嘛。


看看可否使用这种方式传递值:

http://blog.csdn.net/syeerzy/archive/2005/04/16/349881.aspx
guxiangdefeng 2005-05-23
  • 打赏
  • 举报
回复
ycrw(隐藏人物)

这个方法和5楼的一样,我以前也用过,兄弟果然隐藏够深

大虾们有什么招尽管使出来,就算解决不了问题,讨论一下也是快事一件啊? ^__^
biggerboy 2005-05-23
  • 打赏
  • 举报
回复
够复杂的!!跟着学习!
ycrw 2005-05-23
  • 打赏
  • 举报
回复
然后在打开页面的后台
string id1 = this.request[id1].tostring;
string id2 = this.request[id2].tostring;
ycrw 2005-05-23
  • 打赏
  • 举报
回复
直接在连接后面加个参数不就行了
default.aspx?id1=111&id2=222
zeusvenus 2005-05-23
  • 打赏
  • 举报
回复
对变态需求有弱智方法应对:在要打开的窗体放一排N个不可见的Textbox,在页面打开时判断是否前一个为空并依次存入值,再用这值去覆盖Session.
guxiangdefeng 2005-05-23
  • 打赏
  • 举报
回复
多谢各位,我这个页面可不只打开2次啊 -_-!!

hchxxzx(NET?摸到一点门槛) ( )
在每个弹出页面中,各放2个隐藏控件,页面加载后,立即用SESSION值对此控件1赋值,并且,当页面加载完毕,立即用脚本对控件2点击提交(在提交事件里面什么也不写),这样,数据就保存下来了.
=========================================================================================
隐藏控件和Viewstate效果是一样的,我就是想知道怎样用脚本对"控件2"点击提交,用JS吗?
hchxxzx 2005-05-23
  • 打赏
  • 举报
回复
如果是这种变态需求,那么你可以如下:
在每个弹出页面中,各放2个隐藏控件,页面加载后,立即用SESSION值对此控件1赋值,并且,当页面加载完毕,立即用脚本对控件2点击提交(在提交事件里面什么也不写),这样,数据就保存下来了.
凨叔 2005-05-23
  • 打赏
  • 举报
回复
用Session传一个HashTable,HashTable的Key存页面的全路径,Value存你要传的值。我想应该可以吧!
wlzbaby 2005-05-23
  • 打赏
  • 举报
回复
如果确定只打开两个页面的话

如果确定用户非要求这么做的话

你就写两个 Session 呗
singlepine 2005-05-23
  • 打赏
  • 举报
回复
都用session("111")来传值,在新开的页面中,再用session来记录,第一次用session("1"),第二次用session("2"),多做些判断,来满足这样的变态需求吧
Overriding 2005-05-23
  • 打赏
  • 举报
回复
session独立于进程,保存Key-value,你原来的那种东西如果key
没有改变肯定要覆盖。
传值也不是一种方案啊,用cache,url参数,post方法。
guxiangdefeng 2005-05-23
  • 打赏
  • 举报
回复
hchxxzx(NET?摸到一点门槛) ( )

没错,我也觉得这样就好,但是客户要求用Session,我估计他是不想给钱,所以提点变态的要求啊:(

现在有个方案是页面一接收到Session,立马用viewstate保存,在页面内不再使用Session.
但是有一个问题,当页面打开后不做任何操作,直接F5刷新,viewstate就没有了.我哭啊~~~
如果做了任何操作提交过一次再F5刷新,Viewstate是能保存的.
有没有办法跳过第一次的F5刷新啊?
加载更多回复(1)

62,047

社区成员

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

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

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

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