[問題] [ASP.Net]動態DropDownList只能生效一次

看板C_Sharp作者 (復讎の業火)時間14年前 (2009/10/27 22:59), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/3 (看更多)
各位先進大大好: 小弟用asp.net包裝一個陽春的搜尋引擎,也就是用frame切割為上下框架, 上框架就是讓人輸入檢索詞彙的地方,下框架則是呈現搜尋結果的地方, 現在我企圖做一個分類檢索功能卡關卡一半: 我有一個三個階層的分類架構,寫在access資料庫中, 然後用dropdownlist去databind, 反正選了第一層第二層就會變動,選了第二層第三層就會變動…這樣, (利用autopostback功能做的) 然後第三層是一個「篩選依據」幫我過濾檢索的類別, 可以想像成「我只想在某個類別中做搜尋」, 因此按下送出查詢按鈕時,我用session變數儲存第三層選單的Text, 然後送給呈現結果的頁面當篩選依據,可是我發現這麼做「只能正確生效一次」, 亦即我在送出這個查詢後,如果再改動下拉式選單,然後第二次送出查詢, 它記錄的仍是我第一次所選擇的類別… 原本我以為是因為session變數到瀏覽器關閉為止都不允許再改動, 所以我改用design pattern的singleton來製造全域變數去記錄我要的那個分類屬性, 想不到仍是得到同樣的結果:只能正確運作一次, 若我重新改動下拉選單的內容再送出,它記錄的仍是第一次使用時的值。 讓我不得不懷疑問題是出在dropdownlist上, 不知有無大大碰過類似的問題,能給予寶貴指點呢?多謝! M(_ _)M -- 子曰:『槍管不清,則禮樂不興。』 ~掄語 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.19.115

10/28 02:37, , 1F
第2次變數輸出的值有對嗎
10/28 02:37, 1F

10/28 07:04, , 2F
你下面的frame有reload嗎?或是用get方式傳值
10/28 07:04, 2F

10/28 23:14, , 3F
謝謝兩位回答,第二次變數就是輸出了我第一次的變數值
10/28 23:14, 3F

10/28 23:15, , 4F
然後因為跨頁參數中有中文字串,所以我先用session傳
10/28 23:15, 4F

10/28 23:16, , 5F
後來又改成用全域變數(static)去記錄
10/28 23:16, 5F

10/28 23:17, , 6F
還有,送出查詢按鈕用window.open實作response.redirect
10/28 23:17, 6F

10/28 23:17, , 7F
但是轉到結果呈現頁面時應該已經呼叫page load?
10/28 23:17, 7F
文章代碼(AID): #1AvmhhOA (C_Sharp)
文章代碼(AID): #1AvmhhOA (C_Sharp)