[問題] postback後 PlaceHolder裡的控制項消失

看板C_Sharp作者 (4545454554)時間7年前 (2016/10/26 11:32), 7年前編輯推噓4(408)
留言12則, 3人參與, 最新討論串1/3 (看更多)
各位好 網頁一開始載入的時候 我讓PlaceHolder1裡面動態增加一個Button 但postback後 這個動態增加的Button會消失不見 我知道可以把 if (!IsPostBack) 拿掉 讓每次網頁載入時都動態增加一個Button 但我想請問 有辦法動態增加一次控制項後 該控制項就一直都存在 不會因為postback而消失嗎? 謝謝 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Button btn = new Button(); btn.Text = "按鈕"; PlaceHolder1.Controls.Add(btn); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.127.81.14 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1477452734.A.BD5.html

10/26 13:30, , 1F
我的作法是會用session 紀錄 按鈕的多寡,再新增的
10/26 13:30, 1F

10/26 13:30, , 2F
時候用迴圈來新增
10/26 13:30, 2F

10/28 08:44, , 3F
謝謝
10/28 08:44, 3F

10/28 18:55, , 4F
你可以放在page init去動態生成就可以了
10/28 18:55, 4F

10/28 21:06, , 5F
謝謝 但我放在page init裡面 也是postback就消失了
10/28 21:06, 5F

10/28 21:14, , 6F
unloal之後物件本來就會消失,你是不是可以指定給他固
10/28 21:14, 6F

10/28 21:14, , 7F
定的id,還是你網頁有關掉viewstate?
10/28 21:14, 7F
我想問的就是有辦法不消失嗎? 您說本就會消失 所以是沒辦法了嗎? 可以指定ID 像這樣 btn.ID = "mybutton"; 我沒有關掉viewstate

10/29 16:25, , 8F
網頁本身就是無狀狀態的,所以都會消失,但你可以用web
10/29 16:25, 8F

10/29 16:25, , 9F
form的機制,重建回來並保留狀態,但你要page的生命週
10/29 16:25, 9F

10/29 16:25, , 10F
期在那時候做那些事情,其中你給id他才會知道那個要loa
10/29 16:25, 10F

10/29 16:25, , 11F
d資料給誰!!
10/29 16:25, 11F
不好意思 您可以給我一個動態加入控制項 而postback後又重建回來的例子嗎?

10/31 11:42, , 12F
你可以貼一下你code看一下就知道為啥找不到!
10/31 11:42, 12F
OK 我把程式碼放這裡 https://www.sendspace.com/file/qgdsl4 ※ 編輯: kisha024 (140.127.81.14), 10/31/2016 14:45:36
文章代碼(AID): #1O42E-lL (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1O42E-lL (C_Sharp)