我在GridView里添加了删除按钮(CommandField),也添加了一个查看按钮(ButtonField)。
删除按钮功能是删除此行数据,并且数据库也随之更新。
查看按钮的功能是,将此行数据对应的ID传到另一个页面,另一页根据ID显示详细信息。
我在RowCommand()事件里,写跳转页面。
但我按删除按钮,也执行了RowCommand(),有没有什么方法,能让删除按钮屏蔽RowCommand()?
其它实现此功能的方法也可以。

解决方案 »

  1.   

    根据ComanndName判断处理就是了
      

  2.   

    if(e.CommandName == "SELECT")
    {}
    else if(e.CommadnName=="View")
    {}如此这样
      

  3.   

    在前台页面里给两个field分别加上以上的commandname,然后在事件中判断就行了
      

  4.   

    一定要根据CommandName做判断
    .net已经用掉了一些CommandName, 比如delete, sort,所以这些都不能用。
      

  5.   


        //修改和删除按钮
        protected void gvDepart_RowCommand(object sender, GridViewCommandEventArgs e)
        {
               //获得 参数,e.ConmmandArgument
            int  departId =Convert.ToInt32( e.CommandArgument);
            DepartId = departId;
            
            if(e.CommandName == "Ed")//编辑
            {     
                string path = ("SaveDepartInfo.aspx?DepartId=" + departId);
                Response.Redirect(path);
            }
            else if (e.CommandName == "De")//删除
            {  
                //1.实例化一个实体
                DepartInfo departInfo = new DepartInfo();
                departInfo.DepartId = departId;                        //2.调用删除方法
                bool flag  =  DepartInfoManager.Delete(departInfo);            //3.判断是否删除成功
                if (flag)
                {
                    UserInfo user = Session["CurrentUser"] as UserInfo;
                    OperateLogManager.AddOperInfo(user.UserId, "删除", departInfo.DepartId.ToString(), "删除部门");
                    Response.Write("<script>alert('删除成功!');window.location.href='DepartManage.aspx';</script>");
                    
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "", "<script>alert('删除失败!')</script>", false);
                }            //4.重新绑定
                this.BingData();        }
        }    //删除事件
        protected void gvDepart_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                ImageButton imgbtnDelete = e.Row.FindControl("imgbtnDelete") as ImageButton;
                imgbtnDelete.Attributes.Add("onclick", "return confirm('你确定要删除吗?')");        }
        }稍微改下就OK了