日期:2014-05-18  浏览次数:20347 次

动态生成控件问题!在线等待
我动态生成的控件,只能放在  
  if   (!IsPostBack)
  {}外面,这样点Button才能取到值,

但放在  
  if   (!IsPostBack)
  {}外面,每次按Button都要重新动态生成一次控件,请问如何解决?让控件只生成一次以后点Button都不生成了

------解决方案--------------------
请问如何解决?让控件只生成一次以后点Button都不生成了

==========

非常遗憾的告诉你, 不可能!!!!

每次都得生成!这是 ASP.NET 的规矩。
------解决方案--------------------
每次按Button都要重新动态生成一次控件,请问如何解决?让控件只生成一次以后点Button都不生成了
---------------------
是不可能的,其实你拖到页面上的一般的控件,其实在postback的时候也是要重新加载的。


那这种情况怎么办:我动态生成CheckBoxLis并付上随机,并且选择打勾.再点Button时读取它的值.
如何保存动态生成的CheckBoxLis内容和用户的选择
------------------------------------------
你用现在这种方式不行吗,就用你现在的方式没问题的。因为你ASP.NET会保存以前的状态,并把你动态加载的控件恢复到以前的状态!!!
------解决方案--------------------
请问如何解决?让控件只生成一次以后点Button都不生成了

==========

非常遗憾的告诉你, 不可能!!!!

每次都得生成!这是 HTTP 的规矩。


那这种情况怎么办:我动态生成CheckBoxLis并付上随机,并且选择打勾.再点Button时读取它的值.
如何保存动态生成的CheckBoxLis内容和用户的选择
-----------------------------
写个方法将值存在 Session 里,这也是 HTTP 的规矩。
------解决方案--------------------
可以用viewstate[ "state "]

1.第一次点击按钮的事件内
button1_onclick()
{
//给vidwstate附上值
viewstate[ "state "] = "state ";
if(viewstate[ "state "]==null)
{
//动态加载控件的代码
}
}