动态创建用户控件中的ListBox问题!

兰特 2009-12-07 02:40:13
本人做了一个用户控件,里面使用了ListBox控件,在页面的Load事件里创建该用户控件,问题出在页面回传时,无法获取ListBox的当前选中项,SelectedIndex始终是-1,SelectedItem始终是空,我想应该是视图状态的问题,但不知道如何解决,请各位高手不吝赐教!非常感谢!
...全文
110 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
兰特 2009-12-07
  • 打赏
  • 举报
回复
我刚测试了下,在页面的Init阶段动态创建控件可以解决,刚查了下书,恢复视图状态是在Init事件以后,看来在Load阶段动态创建控件不太合适,但现在还不清楚会不会出其他的问题,每次解决1个问题总会出些新问题,呵呵!
手抓宝 2009-12-07
  • 打赏
  • 举报
回复
这样吧,你把创建控件和数据绑定的代码都写到if(!Page.IsPostBack)外边,然后用ViewState存储你选择的信息
兰特 2009-12-07
  • 打赏
  • 举报
回复
我把数据绑定写在用户控件的if(!Page.IsPostBack)中,问题依旧!

每次回传的时候在页面的Load节点重新动态创建的用户控件,会不会在用户控件内部不知道自己在回传啊!
SK_Aqi 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zp6513 的回复:]
每次回传的时候,动态创建控件时ListBox的项又重新绑定数据了,是否这样影响的视图状态的恢复啊!
[/Quote]
影响,刷新了页面绑定时还是初始化的值
加上ispostback
手抓宝 2009-12-07
  • 打赏
  • 举报
回复
绑定数据的代码写到if(!Page.IsPostBack)里
兰特 2009-12-07
  • 打赏
  • 举报
回复
每次回传的时候,动态创建控件时ListBox的项又重新绑定数据了,是否这样影响的视图状态的恢复啊!
兰特 2009-12-07
  • 打赏
  • 举报
回复
这些我都知道,我写在重载的OnLoad方法中,控件都给了唯一的ID!
phper2008 2009-12-07
  • 打赏
  • 举报
回复
而且动态创建控件对象时,应该制定对象的id
phper2008 2009-12-07
  • 打赏
  • 举报
回复
动态加载控件的代码不要写在if(!Page.IsPostBack){}里

62,255

社区成员

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

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

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

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