当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: 在页面的head里面添加了下面语句: <script language="javascript" src="../include/common.js"></script> 有一个expand函数写在common.js文件里面。 可以肯定src的地址没有写错。 可是在页面点击某处应该调用expand函数的时候,却总报告说找不到对......
    摘要: 怎么设置table控件的tablerow的对齐方式horizontalalign为center 好像是枚举类型 ......


¥150分的问题,DataGrid的ItemCommand事件为什么会经常丢失

目前在开发一个MIS,不知道为什么DataGrid的ItemCommand事件会经常丢失,什么也没有动,过几天突然又好了,不知何故,

NO.1   作者: LoveCherry

如果后台注册的事件经常丢失就改为前台注册吧  
  <asp:DataGrid   OnItemCommand=""....>

NO.2   作者: fengfangfang

不解

NO.3   作者: Truly

jf

NO.4   作者: net_lover

不会吧,没有遇到过

NO.5   作者: 50277

有时候改动了页面布局后事件会丢失,但运行起后就不会了!

NO.6   作者: hackate

倒,有这样的事,汗哦。。。。  
   
  。NET环境问题吧!

NO.7   作者: cndsn

是事件句柄丢失了吧?  
  在InitializeComponent里面,  
  private   void   InitializeComponent()  
  {      
  this.DataGridColumn.SelectedIndexChanged   +=   new   System.EventHandler(this.DataGridColumn_SelectedIndexChanged);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
  }  
  经常移动了控件位置就只剩下this.Load   +=   new   System.EventHandler(this.Page_Load);  
  其他的莫名其妙的丢失,找了好多,很多人说是vss的一个bug,  
  但把他们放在page_load里面就不会丢失,不知道楼主会不会是这个问题

NO.8   作者: lovefootball)

我原来后台的事件也总是丢,搞不清楚为什么,问了ms也没解决

NO.9   作者: Richardhu

在psotback后是否重新绑定过数据,绑定后事件就会丢掉。

NO.10   作者: qgqchile

我碰过更邪的事,明明写好的一个TREEVIEW的程序,第一次运行后只要一修改ASPX文件,前台的代码就消失不见拉,呵呵,重新装一下FRAMWORK再杀杀毒后一切正常

NO.11   作者: sunnystar365

这个问题我也遇到过,我好象动了页面之后事件就没有了,只好再点击一下事件了

NO.12   作者: goody9807

是不是在Itemcommand上面加限制了   看看是否和代码有关

NO.13   作者: syeerzy

这个错误以前有一段时间公司出过,研究了比较长的时间,开始以为是使用了VSS导致的Bug,后来排除了,  
   
  不过有一点,多次测试,只有在3种情况下会发生这个事情:  
  1   符号不成对就保存  
  2   手工改动过“代码生成器。。。不要用。。编辑”里面那些内容,以后,在“设计界面”又对某控件添加事件委托。  
  3   某些时候在代码界面本来蓝色的关键字有一些变成和其他字一样黑的,并且你修改过后关闭时不会提示你保存,这个时候事件丢失很经常。这种情况要注意的是不要保存,退出,重新进,一般就好了。保存很可能事件委托就没了。  
   
   
  应该是bug。    
   
  顺便还有一点,对于Runat=Server的控件,如果实在有需要在html视图中编辑,注意某些属性最好“一次性”编辑,比如id,最好在记事本或其他地方写好,复制过来而不是一个一个打字进去。  
   
  个人经验,仅供参考

NO.14   作者: TCat

在vs.net   1.1架构上开发的控件在1.0上就会出现很多莫名其妙的错误,  
  很是纳闷

NO.15   作者: brando_beat

不会吧,没有遇到过  
 

NO.16   作者: jimu8130

也遇到过这种情况,大抵是改动前台代码出现小错误后就突然消失了

NO.17   作者: chinacheng07

改用VS2005

NO.18   作者: hdj_05

我也是常遇到这种事情的  
 

NO.19   作者: SpideBoy

我觉得是移动了控件的位置   如:以前是在一个表格里面现在移动到外面或者移动到form的外面都  
  会出现这样的问题,我有好多次发现这样的问题,建议首先调整界面风格,等界面都弄好了  
  再开始写方法逻辑应该没有什么问题了。

NO.20   作者: seekg

也有类是情况,没了就自己加上

NO.21   作者: seekg

这个应该不是VSS的bug,我们用的是SourceDepot,也有着这问题。应该没有多少人用过SourceDepot吧,MS自己内部用的,我们老板出来时代的

NO.22   作者: yong427

还有可能和你的机器环境有关

NO.23   作者: xtxk_917

是浏览器的问题!  
  你是不是拖机工作了.  
   
  我在公司的时候用的是windows   2000在家用的是windows   xp.把东西拿回去.  
  家里不能上网.没有设什么,DataGrid的ItemCommand事件.按扭一会好用一会不好用.  
   
  我用了拖机工作好用了,每一下都行.不知道你是不是和我有相同的问题?

NO.24   作者: phantomMan

我也经常碰到这种情况,不懂..................

NO.25   作者: eyetiger0104

是不是楼主的项目名称取得不好?

NO.26   作者: renyu732

重装试试...  
  哈哈

NO.27   作者: renyu732

连孟子大哥都"   不会吧,没有遇到过"    
   
  我就没什么发言权了..  
           
     
 

NO.28   作者: liuqinglq

嘿嘿,楼主仅仅是遇到过ItemCommand事件丢失么?  
   
  我还遇到过更邪门的呢~-_-  
   
  添加“按钮列”中的“编辑   更新   取消”,然后运行时遇到恐怖的BUG  
   
  绑定前4个表时,“更新”和“取消”功能正常  
   
  但是绑定第5个表显示时,“更新”的事件居然连到了“取消”的函数,取消的函数连到了“更新”的函数  
   
  所谓5个表,页面只有一个,为何会出现不同?难道表还会改变事件句柄不成?  
   
  看了好久都无法解决,后来只好我自己用模板列写事件-_-!

NO.29   作者: liuqinglq

天!!  
   
  今天我也遇到   ItemCommand   事件丢失的怪事了!!  
   
  而且绝对比楼主遇到的要奇怪,ItemCommand   这个事件要在某种特定情况下才丢失~这里的“情况”是指运行时的情况~和源码,编译等等无关~

NO.30   作者: pbooter

遇到过:主要原因是当你手动在  
  private   void   InitializeComponent()  
  {          
  this.Button1.Click   +=   new   System.EventHandler(this.Button1_Click);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
  }  
  里面添加事件后,再对页面中的某个按钮添加事件或进行多项事件操作时,就会将上面的所有事件委托清空,得重新添加才行。如果你不手工添加而有开发环境自动产生委托,好象基本上不会丢失!

NO.31   作者: singlepine

这种情况很常见,可以这条处理  
  方法一:人为移动事件注册代码  
  #region   Web   Form   Designer   generated   code  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  InitializeComponent();  
  base.OnInit(e);  
  this.DataGrid1.ItemCommand+=new   DataGridCommandEventHandler(DataGrid1_ItemCommand);//人为的移到这里,就不会再丢失了  
  }  
   
  private   void   InitializeComponent()  
  {          
  this.Button1.Click   +=   new   System.EventHandler(this.Button1_Click);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
                    //this.DataGrid1.ItemCommand+=new   DataGridCommandEventHandler(DataGrid1_ItemCommand);系统默认加在这里,把它人为的移到上面  
   
  }  
  #endregion  
  方法二:写一个包含所有注册事件的方法,然后在load时调用,把在InitializeComponent中自动产生的事件删除,如  
  #region   Web   Form   Designer   generated   code  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  private   void   InitializeComponent()  
  {          
    //系统默认加在这里,把它人为的删除  
  }  
  #endregion  
   
  private   void   BindEvents()  
  {  
  this.DataGrid1.ItemCommand+=new   DataGridCommandEventHandler(DataGrid1_ItemCommand);  
  this.Button1.Click   +=   new   System.EventHandler(this.Button1_Click);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
  }  
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  BindEvents();  
  }  
 

NO.32   作者: singlepine

如果用vss做版本管控的话,不要编辑某个文件,此时提示要check   out,如果这样check   out也是造成事件丢失的一个原因,因为aspx,aspx.cs,aspx.resx三个文件有时只能check   out出一个,而不是三个;如果要编辑某个文件,先check   out,然后编辑,这样文件就被完全check   out了

NO.33   作者: powerllr

不知道是撒子回事  
   
  搞得俺一天到晚在找丢失的事件,可有时候明明委托都在,也没动它,就是不执行。我解决的办法  
   
  仅供参考:  
   
  1。如果委托事件不在老地方,嘿嘿不要我说了吧  
  2。如果委托事件在老地方,那就删除它,自己手写一次。  
   
  绝招:仅供参考            
   
  找个暴王龙级别的MM,对电脑来一次露齿微笑。电脑不死找我。

NO.34   作者: ld_thinking

不只是绑定     按钮什么的事件也经常丢失

NO.35   作者: will_eworker

这么热的帖子阿,呵呵,楼主,在写程序的时候千万不要动页面自己生成的代码,如果在其中添加或删除了一些东西,即使你的代码是正确的,但是总是会出现一些预想不到的问题,我曾经遇到过,希望对你有帮助。

NO.36   作者: liuqinglq

楼上几位说的都很有道理...可是我遇到的和楼主不同  
   
  我根本没动过页面自动生成的代码……  
   
  难道真是   singlepine(小山)   说的VSS的问题?  
   
  可我的程序是在某个特定情况下才丢失这个事件啊……下周我专开一个帖子说说

NO.37   作者: wjjdnajj

好像也遇到过,进来研究研究

NO.38   作者: caicai_45

我是VSS开发的,刚弄的时候,没注意界面,就拖上去,位置大概对了就行了,然后整个页面编程结束了,在开始调整页面。里面有些BUTTON的事件就不起作用了,点了就刷新一下页面,什么都不执行,然后在编辑状态下,双击按钮,进入代码编辑,不做任何事情。然后在重新编译下,又没问题了


    摘要: 就是我用vs自带的哪个treeview控件 我让它加上了复选框 现在我怎么给复选框加事件呀? 比如说: 我选中一个父节点后,其子节点也全部选中?这个事件在哪儿写呀?? 谢谢指教 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE