解决.netFrameWork1.1中事件丢失

以前也在 CSDN技术社区听很多朋友抱怨.NET2003下经常出现事件丢失,

如,用其他编辑器编辑后,再用VS重新加载后。特别容易丢失。要自动去重新注册事件。

但自己一直没有遇到这类问题,但解决方法还是有的~就是在
private void InitializeComponent()
{
  
//在这里对事件进行注册!
this.Button1.Click += new System.EventHandler(this.Button1_Click);
//   这是事件         这是委托    这是处理器!


我还是知道要向上面那样做的,但今天我自己却遇见事件丢失的情况!

我用的是windows 2003 企业版系统 升级SP1后,发现自己在XP下写的一套程序,很多地方出现

事件丢失!我检查事件注册,也有!删除了重新手写注册也式了,依旧事件丢失!在网上找了很多

,大多都说什么重新注册下呀,重新连接下呀!但我已经注册了还是不行!非常郁闷!微软做的东西也不

是十全十美,不过在它推出.net framework2.0版本已经解决了这个问题,只是目前还是很多朋友在

用1.1! 检查了半天,后来我发现凡是带有Validator验证的Form都不能完成提交操作。当时我以为是安装Sp1后,IE的安全性又提高了,换别的机器访问还是一样不能完成提交操作。这应该是服务器端的问题了。

我自己重新建了个项目,然后加入BUTTON,单击,一切正常。导入CSS美化(因为有的朋友说是经常美化后,会导致事件丢失!)后,还是正常!再加入ValidatorControls 后,运行!立即事件丢失!重新删除 自动注册事件程序,手写了一段。依然没有解决。自己捣鼓了半天!

想到了上次听微软的讲师邵志东在讲解决项目错误中,告诉我们最后的一招杀手涧,是aspnet_regiis.立马打开 VS.NET2003 命令工具,在里面 输入 aspnet_regiis -i,

等待 运行完后,重新运行!
 
    事件丢失解决!

总结:这次遇见的事件丢失是一个比较特殊的情况!一般事件丢失都是因为注册的问题,只要重新
在InitializeComponent()是对事件进行注册就可以解决,但这次是微软升级Windows 2003的同时,升级了FRAMEWORK 1.1,把WebUIValidation.js这个个文件也升级了,所以导致原来的WebUIValidation.js不能正确的执行验证操作。重新运行aspnet_regiis 重新安装新版本的 覆盖掉项目中的就OK!

原文地址:https://www.cnblogs.com/eflylab/p/519919.html