动态创建的控件如何让它不重新创建一直存在,有办法实现吗?

Net_Test_liu 2010-07-15 03:49:51
动态创建的控件如何让它不重新创建一直存在,有办法实现吗?
...全文
123 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
a6711145 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 net_test_liu 的回复:]
饿 刚跳过来 还是不能这么拽....不行 我去想别的办法
[/Quote]

你能描述 一下 具體的 功能麼?具體要做什麼東西? 要這麼用
手抓宝 2010-07-15
  • 打赏
  • 举报
回复
提供一个创建单例的方法,但是不足之处就是没法根据传入id来判断是否新创建控件,本人才疏学浅。。


public class Singleton<T>
{
private static T instance;

public static T Instance()
{
if (instance == null)
{
instance = Activator.CreateInstance<T>();
}
return instance;
}
}


使用:

protected void Page_Load(object sender, EventArgs e)
{
Button btn = Singleton<Button>.Instance();
btn.id="xxx";
btn.width=xxx;
TextBox tb = Singleton<TextBox>.Instance();
tb.id="xxx";
tb.width=xxx;

this.form1.Controls.Add(btn);
this.form1.Controls.Add(tb);
}
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
恩 分还是给你们了
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
饿 刚跳过来 还是不能这么拽....不行 我去想别的办法
a6711145 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 net_test_liu 的回复:]
老板强制要的....
[/Quote]

如果 老闆 是 專業人士 那麼請去請教 老闆,
不然 不要 鳥 老闆,
不是一行人,不說一行話。 你只要功能滿足它 就好了,其他你愛怎麼做就怎麼做
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
我上月中旬才开始学自定义控件的,所以有很多地方还不清楚,所以请教下大家,如果实在搞不定,我也只能说搞不定了
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
悲剧了
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
老板强制要的....
a6711145 2010-07-15
  • 打赏
  • 举报
回复
LZ 或許 可以 換個不用 動態創建 控件 的辦法的。 換個思路
a6711145 2010-07-15
  • 打赏
  • 举报
回复
像你說的情況(不確定性),還要後臺自動創建控件,這種問題
處理方式不推薦, LZ 看 換想 其他辦法吧。 不然像 4 樓 說的 那樣哦。
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
我NEW的也是我自己写的控件如TABLE DROPDOWNLIST 等
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
.....我写的是自定义的服务器控件
a6711145 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 net_test_liu 的回复:]
知道可以用状态保存 我也用了IPostBackDataHandler来处理了 数据状态都可以保存,但加载爷面还是要重新New,和指定ID 很烦 想问问有没有别的办法,还有我不会只固定创建1个控件,会因为点击和选取创建其他的控件.问下各位大牛,有没有好的办法
[/Quote]

客戶端 前臺動態 創建 html 控件。
異步 調用獲取 後臺數據 根據需要 動態顯示。
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
等到5点 没好办法分就全给你了
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hrabeyond 的回复:]
有办法让他不重新创建,但是必须每次pageload时要重新add。。对象还是一个,没有变

C# code

public static int i = 0;
public static Button btn = new Button() { Text="一直存在的按钮" + i.ToString(),Width=180};

protected void Page_Load(obj……
[/Quote]
我叫霍然 的方法我知道 但我不能用,我不知道接下来要动态创建多少
Net_Test_liu 2010-07-15
  • 打赏
  • 举报
回复
知道可以用状态保存 我也用了IPostBackDataHandler来处理了 数据状态都可以保存,但加载爷面还是要重新New,和指定ID 很烦 想问问有没有别的办法,还有我不会只固定创建1个控件,会因为点击和选取创建其他的控件.问下各位大牛,有没有好的办法
阿彪兄 2010-07-15
  • 打赏
  • 举报
回复
这个问题很常见,可以用状态保存,创建控件时要注意controls.add与绑定数据的顺序
夺命胖子 2010-07-15
  • 打赏
  • 举报
回复
估计楼主的意思是就像设计在页面上一样,

楼主要明白,你这个设计到页面上只是换个位子存放,每次加载该页面都会创建该页面的控件,

只是迟早的问题
testtestett 2010-07-15
  • 打赏
  • 举报
回复
一直存在。。。假设有10000个用户请求了你的页面。你就是要让它生成10000个控件一直在内存???
手抓宝 2010-07-15
  • 打赏
  • 举报
回复
或者用单例也可以
加载更多回复(2)

62,040

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧