作者CYBASTER (复雠の业火)
看板C_Sharp
标题[问题] [ASP.Net]动态DropDownList只能生效一次
时间Tue Oct 27 22:59:52 2009
各位先进大大好:
小弟用asp.net包装一个阳春的搜寻引擎,也就是用frame切割为上下框架,
上框架就是让人输入检索词汇的地方,下框架则是呈现搜寻结果的地方,
现在我企图做一个分类检索功能卡关卡一半:
我有一个三个阶层的分类架构,写在access资料库中,
然後用dropdownlist去databind,
反正选了第一层第二层就会变动,选了第二层第三层就会变动…这样,
(利用autopostback功能做的)
然後第三层是一个「筛选依据」帮我过滤检索的类别,
可以想像成「我只想在某个类别中做搜寻」,
因此按下送出查询按钮时,我用session变数储存第三层选单的Text,
然後送给呈现结果的页面当筛选依据,可是我发现这麽做「只能正确生效一次」,
亦即我在送出这个查询後,如果再改动下拉式选单,然後第二次送出查询,
它记录的仍是我第一次所选择的类别…
原本我以为是因为session变数到浏览器关闭为止都不允许再改动,
所以我改用design pattern的singleton来制造全域变数去记录我要的那个分类属性,
想不到仍是得到同样的结果:只能正确运作一次,
若我重新改动下拉选单的内容再送出,它记录的仍是第一次使用时的值。
让我不得不怀疑问题是出在dropdownlist上,
不知有无大大碰过类似的问题,能给予宝贵指点呢?多谢! M(_ _)M
--
子曰:『枪管不清,则礼乐不兴。』
~抡语
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.19.115
1F:推 thirteeen:第2次变数输出的值有对吗 10/28 02:37
2F:→ blestadsl:你下面的frame有reload吗?或是用get方式传值 10/28 07:04
3F:→ CYBASTER:谢谢两位回答,第二次变数就是输出了我第一次的变数值 10/28 23:14
4F:→ CYBASTER:然後因为跨页参数中有中文字串,所以我先用session传 10/28 23:15
5F:→ CYBASTER:後来又改成用全域变数(static)去记录 10/28 23:16
6F:→ CYBASTER:还有,送出查询按钮用window.open实作response.redirect 10/28 23:17
7F:→ CYBASTER:但是转到结果呈现页面时应该已经呼叫page load? 10/28 23:17