台灣最大程式設計社群網站
線上人數
1471
 
會員總數:242762
討論主題:187727
歡迎您免費加入會員
討論區列表 >> ASP.NET >> Button觸發 後台重整 List紀錄消失
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Button觸發 後台重整 List紀錄消失
價值 : 20 QP  點閱數:222 回應數:3

樓主


門外漢
0 12
80 10
發送站內信


前台畫面:
[TextBox1] [新增]
[TextBox2]
1個小的單行TextBox / Button
1個大的多行TextBox

後台建立:
List<string> listStr = new List<string>();
listStr.Add("AAA"); //像資料庫查詢出來 加進去List
listStr.Add("BBB");
listStr.Add("DDD");

流程:
在textBox1 輸入資料
判斷是否是允許的資料(存在list)如果是 加到textBox2

程式打好後永遠比對不到 後來逐步執行發現是當按下Button後list被清空的關係

我在Load內IsPostBack會進行一次查詢資料庫的動作 把查到的資料丟到List
但是前台按下Button會把後台重新RUN導致List被重建

有辦法在前台按下Button後讓後台的List能維持著嗎 還是只能加入控件內(例如下拉控件)來省去重新查詢的動作






搜尋相關Tags的文章: [ . ] ,
本篇文章發表於2018-04-10 14:39
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
先說一個觀念
web本來是沒有『狀態』儲存

因此,每次client端跟Server進行Request的當下,都是完全『全新』的狀態

為了讓系統保有『狀態』,就會利用許多方式來處理
各種方式有他的特性、有他使用的時機
包括例如:Session, ViewState, Cookie, WebStorage, ...等
以上的這幾個,建議您每一個都搜尋一下,都去比較一下彼此的異同

---
回到您的問題
您新增了資料到List中
但,這狀態沒有儲存起來,因此,就好像會遺失了狀態似的

解決的方式,就是,當每次List有異動時,都要用一種方式把List的狀態儲存起來
並且
每次當Page_Load的時候,要把儲存的狀態,『放回List』
例如:使用ViewState




^_^
本篇文章回覆於2018-04-10 17:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

Allen
捐贈 VP 給 Allen 檢舉此回應
我錄了一段說明, 請參考
http://www.webapp.com.tw/GenericArticle/view.aspx?id=1185
本篇文章回覆於2018-04-11 11:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應


檢舉此回應
我嘗試看看 謝謝
本篇文章回覆於2018-04-11 17:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.