铵钮提交事件PostBack之后,一些动态加载的物件丢失_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 铵钮提交事件PostBack之后,一些动态加载的物件丢失

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

 2013/7/18 12:16:43  Insus.NET  博客园  我要评论(0)
  • 摘要:今早起来,发现skype有网友留言,情况大约如下,不过Insus.NET还是先感谢网友的测试。http://www.cnblogs.com/insus/p/3193619.html如果你有看此篇博文。而且照做之后,在运行时,会有点不正常显示。如:"大神,你在演示能正确运行吗?为何我测试时,会出现这个样子,由于每一步都照着做的。"OH,Insus.NET在做演示时,确出有出现这个异常,不过没有看得它是很严重,因为平时见多了,只是稍微调整一下,就可以了。当时一出现这个异常时
  • 标签:事件

今早起来,发现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事件,它只会运行一次

 

发表评论
用户名: 匿名