为了账号安全,请及时绑定邮箱和手机立即绑定

铵钮提交事件PostBack之后,一些动态加载的物件丢失

标签:
JavaScript

今早起来,发现skype有网友留言,情况大约如下,不过Insus.NET还是先感谢网友的测试。
http://www.cnblogs.com/insus/p/3193619.html  如果你有看此篇博文。而且照做之后,在运行时,会有点不正常显示。如:




"大神,你在演示能正确运行吗?为何我测试时,会出现这个样子,由于每一步都照着做的。"

OH, Insus.NET在做演示时,确出有出现这个异常,不过没有看得它是很严重,因为平时见多了,只是稍微调整一下,就可以了。当时一出现这个异常时,只是去了用户控件的Page_Load事件的,把一个IsPostBack判断拿掉



拿掉了,程序可以运行了!!!


由于PostBack的原因,一个物件在PostBack之后,不再保存。如果我们一定要Page_Load事件,添加那个判断。而且在网页Page_Load或用户控件的Page_Load事件,都添加IsPostback判断,那怎么办?

好的,我们先去改一下程序,把网页和用户控件,均加上IsPostBack的判断。

 




添加判断之后,程序运行起来,在PostBack之后,动态添加部分肯定会消失。要怎样解决呢?看看Insus.NET怎样着手。
在Repeater控件中,添加一个OnItemCreated事件:



去.aspx.cs代码页写上面事件处理逻辑,把OnItemDataBound事件内的代码拷贝至OnItemCreated事件中,稍作一些修改。


上图的OnItemCreated事件中,只是做了动态加载用户控件。拿掉了为用户控件赋值的代码。而OnItemDataBound事件呢?看看下图:



刚好相反,这个事件中,拿掉动态加载用户控件的代码,改写为赋值的功能。
为什么需要这样写,它就能正常运行?
因为OnItemCteated事件,每在PostBack之后,它都会运行,而OnItemDataBound事件,它只会运行一次。

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消