作者kisha024 (4545454554)
看板C_Sharp
标题[问题] postback後 PlaceHolder里的控制项消失
时间Wed Oct 26 11:32:12 2016
各位好
网页一开始载入的时候 我让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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1477452734.A.BD5.html
1F:→ te426odin: 我的作法是会用session 纪录 按钮的多寡,再新增的 10/26 13:30
2F:→ te426odin: 时候用回圈来新增 10/26 13:30
3F:→ kisha024: 谢谢 10/28 08:44
4F:推 likesp999: 你可以放在page init去动态生成就可以了 10/28 18:55
5F:→ kisha024: 谢谢 但我放在page init里面 也是postback就消失了 10/28 21:06
6F:推 likesp999: unloal之後物件本来就会消失,你是不是可以指定给他固 10/28 21:14
7F:→ likesp999: 定的id,还是你网页有关掉viewstate? 10/28 21:14
我想问的就是有办法不消失吗? 您说本就会消失 所以是没办法了吗?
可以指定ID 像这样 btn.ID = "mybutton";
我没有关掉viewstate
8F:推 likesp999: 网页本身就是无状状态的,所以都会消失,但你可以用web 10/29 16:25
9F:→ likesp999: form的机制,重建回来并保留状态,但你要page的生命周 10/29 16:25
10F:→ likesp999: 期在那时候做那些事情,其中你给id他才会知道那个要loa 10/29 16:25
11F:→ likesp999: d资料给谁!! 10/29 16:25
不好意思 您可以给我一个动态加入控制项 而postback後又重建回来的例子吗?
12F:推 likesp999: 你可以贴一下你code看一下就知道为啥找不到! 10/31 11:42
OK 我把程式码放这里
https://www.sendspace.com/file/qgdsl4
※ 编辑: kisha024 (140.127.81.14), 10/31/2016 14:45:36