CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

为什么我的DataGrid的ButtonColumn不能触发ItemCommand事件?

楼主zidane1982()2005-11-02 18:18:07 在 .NET技术 / ASP.NET 提问

一部分代码如下:  
   
  #region   Web   窗体设计器生成的代码  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //  
  //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
  //  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   <summary>  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   </summary>  
  private   void   InitializeComponent()  
  {          
  this.Button0.Click   +=   new   System.EventHandler(this.Button0_Click);  
  this.Button1.Click   +=   new   System.EventHandler(this.Button1_Click);  
  this.DataGrid1.ItemCommand   +=   new   System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);  
  this.DataGrid1.SelectedIndexChanged   +=   new   System.EventHandler(this.DataGrid1_SelectedIndexChanged);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
  }  
  #endregion  
   
   
   
  private   void   DataGrid1_ItemCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)  
  {  
   
  if   (   e.CommandName   ==   "view")  
  {  
  Session["SEG"]=e.Item.Cells[2].Text.ToString();  
  Response.Write("<script   language=\"javascript\">");  
  Response.Write("window.open('b21zlhlhjyView.aspx')");  
  Response.Write("</script>");  
  }  
   
  if   (   e.CommandName   ==   "edit")  
  {  
  Session["SEG"]=e.Item.Cells[2].Text.ToString();  
  Response.Write("<script   language=\"javascript\">");  
  Response.Write("window.open('jyryzlcpedit.aspx')");  
  Response.Write("</script>");  
  }  
   
  if   (   e.CommandName   ==   "delete")  
  {  
  Session["SEG"]=e.Item.Cells[2].Text.ToString();  
  Response.Write("<script   language=\"javascript\">");  
  Response.Write("window.open('jyryzlcpdelete.aspx')");  
  Response.Write("</script>");  
  }  
  }  
   
   
  从同伴那里拷来的     他那里可以,我的却不能触发ItemCommand事件  
  请教一下是怎么回事,是什么原因造成的?  
  谢谢 问题点数:20、回复次数:5Top

1 楼chaobeyond(阿漠)回复于 2005-11-02 18:35:24 得分 5

我也经常遇到事件丢失的问题,把旧的事件删掉,再重新加一个ItemCommand事件试试.Top

2 楼greennetboy(我的老婆叫静静)回复于 2005-11-02 18:45:39 得分 5

将DataGrid1_ItemCommand设置成public,然后在前台设置DataGrid的ItemCommand为DataGrid1_ItemCommand看看可否!Top

3 楼greennetboy(我的老婆叫静静)回复于 2005-11-02 19:19:10 得分 0

从代码看,楼主的事件并没有丢呀!其他地方楼主看下吧》?  
  不要老钻一处牛角尖Top

4 楼jimu8130(火箭的未来在哪里?)回复于 2005-11-02 19:25:25 得分 10

这个问题有很多原因最普遍的就是在pageload事件里面写重新绑定没放在  
  if(!ispostback)里面Top

5 楼zidane1982()回复于 2005-11-02 19:53:20 得分 0

多谢各位啊,   正是jimu8130(yang)   所说的,我在pageload事件中没有写if(!ispostback)的习惯,加上这个判断后就可以了,估计是每次点了DATAGRID中的按钮,先触发PAGELOAD事件,结果没有判断是否第一次载入页面,所以就不能触发ItemCommand事件。  
  NND,这个问题搞了我三天,刚刚6点半上课前发的帖子,没想到这么快就有各位来帮助,真是谢谢啊!Top

相关问题

  • 请问datagrid的ItemCommand只能触发一次?
  • web 控件的Datagrid中,为何单击选择按钮,不触发ItemCommand事件?
  • web 控件的Datagrid中,为何单击选择按钮,不触发ItemCommand事件?
  • 急!!!在DataGrid中使用ButtonColumn添加删除按钮怎么触发删除按钮的Click事件???
  • datagrid的PageIndexChanged为什么没有触发??
  • datagrid中使用textbox触发事件。。。
  • DataList里面ItemTemplate中只能用LinkButton来触发ItemCommand事件?
  • 怎样实现在DataGarid里的ButtonColumn写他的触发事件?
  • 我的linkbutton为什么不触发itemcommand事件了!
  • 如何让DataGrid 的EditItemTemplate中的DropDownList控件触发事件?

关键词

  • 代码
  • datagrid
  • itemcommand
  • 事件
  • datagrid1
  • pageload
  • commandname
  • 不能触发
  • eventhandler
  • seg

得分解答快速导航

  • 帖主:zidane1982
  • chaobeyond
  • greennetboy
  • jimu8130

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo