为什么我的DataGrid的ButtonColumn不能触发ItemCommand事件?
一部分代码如下:
#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控件触发事件?




