delete的 CommandName就用Delete好了,不要用MyDelete

解决方案 »

  1.   

    我更改了*.aspx,*.cs中的MyDelete为Delete可是还是无法触发GridView1_RowCommand????????????? 
      

  2.   

    直接在GirdView里面双击删除
    添加删除事件
    事件空的也没关系
    这样应该就好了
      

  3.   

    你可以EnableEventValidation 设置为true,然后将你的所有关于GRIDVIEW的数据绑定操作都放倒Page.IsPostBack = true 的条件下。
      

  4.   

    先看基础概念:
    http://www.google.com.hk/search?hl=zh-CN&lr=lang_zh-CN%7Clang_zh-TW&newwindow=1&safe=strict&rlz=1I7GGLD_zh-CN&biw=1366&bih=712&tbs=lr%3Alang_1zh-CN%7Clang_1zh-TW&q=asp.net+bubbleevent&oq=asp.net+bubbleevent&aq=f&aqi=&aql=&gs_l=serp.3...9176.9697.0.10241.5.4.0.0.0.0.0.0..0.0...0.0..0.IVXDgEezVtE然后看看GridView是怎么写的:protected override bool OnBubbleEvent(object source, EventArgs e)
    {
        bool causesValidation = false;
        string validationGroup = string.Empty;
        GridViewCommandEventArgs args = e as GridViewCommandEventArgs;
        if (args != null)
        {
            IButtonControl commandSource = args.CommandSource as IButtonControl;
            if (commandSource != null)
            {
                causesValidation = commandSource.CausesValidation;
                validationGroup = commandSource.ValidationGroup;
            }
        }
        return this.HandleEvent(e, causesValidation, validationGroup);
    }private bool HandleEvent(EventArgs e, bool causesValidation, string validationGroup)
    {
        bool flag = false;
        this._modelValidationGroup = null;
        if (causesValidation)
        {
            this.Page.Validate(validationGroup);
            if (this.EnableModelValidation)
            {
                this._modelValidationGroup = validationGroup;
            }
        }
        GridViewCommandEventArgs args = e as GridViewCommandEventArgs;
        if (args != null)
        {
            this.OnRowCommand(args);
            flag = true;
            string commandName = args.CommandName;
            if (StringUtil.EqualsIgnoreCase(commandName, "Select"))
            {
                this.HandleSelect(this.GetRowIndex(args.Row, (string) args.CommandArgument));
                return flag;
            }
            if (StringUtil.EqualsIgnoreCase(commandName, "Page"))
            {
                string commandArgument = (string) args.CommandArgument;
                int pageIndex = this.PageIndex;
                if (StringUtil.EqualsIgnoreCase(commandArgument, "Next"))
                {
                    pageIndex++;
                }
                else if (StringUtil.EqualsIgnoreCase(commandArgument, "Prev"))
                {
                    pageIndex--;
                }
                else if (StringUtil.EqualsIgnoreCase(commandArgument, "First"))
                {
                    pageIndex = 0;
                }
                else if (StringUtil.EqualsIgnoreCase(commandArgument, "Last"))
                {
                    pageIndex = this.PageCount - 1;
                }
                else
                {
                    pageIndex = Convert.ToInt32(commandArgument, CultureInfo.InvariantCulture) - 1;
                }
                this.HandlePage(pageIndex);
                return flag;
            }
            if (StringUtil.EqualsIgnoreCase(commandName, "Sort"))
            {
                this.HandleSort((string) args.CommandArgument);
                return flag;
            }
            if (StringUtil.EqualsIgnoreCase(commandName, "Edit"))
            {
                this.HandleEdit(this.GetRowIndex(args.Row, (string) args.CommandArgument));
                return flag;
            }
            if (StringUtil.EqualsIgnoreCase(commandName, "Update"))
            {
                this.HandleUpdate(args.Row, this.GetRowIndex(args.Row, (string) args.CommandArgument), causesValidation);
                return flag;
            }
            if (StringUtil.EqualsIgnoreCase(commandName, "Cancel"))
            {
                this.HandleCancel(this.GetRowIndex(args.Row, (string) args.CommandArgument));
                return flag;
            }
            if (StringUtil.EqualsIgnoreCase(commandName, "Delete"))
            {
                this.HandleDelete(args.Row, this.GetRowIndex(args.Row, (string) args.CommandArgument));
            }
        }
        return flag;
    }
    也就是说,你的事件第二个参数EventArgs必须是GridViewCommandEventArgs或者IButtonControl。