GridView点击行触发SelectedIndexChanged事件

1、在<% @Page ...... %>指令中添加 EnableEventValidation="false"

2、在RowDataBound事件中添加

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{      
        switch (e.Row.RowType)
        {
            case DataControlRowType.DataRow:
              

// 设置鼠标划过行的手势
            e.Row.Attributes["style"] = "cursor:hand";
            #region 【 点击行触发SelectedIndexChanged事件 】
            // 创建回发选项对象
            PostBackOptions myPostBackOptions = new PostBackOptions(this);
            // 自动提交
            myPostBackOptions.AutoPostBack = false;
            // 性能验证
            myPostBackOptions.PerformValidation = false;
            //需要JavaScript协议(如果为客户端脚本生成了 javascript: 前缀,则为 true;否则为 false。 默认值为 true。)
            myPostBackOptions.RequiresJavaScriptProtocol = true;
            // 获取回发客户端超链接
            String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as GridView, "Select$" + e.Row.RowIndex.ToString());
            // 添加点击事件
            e.Row.Attributes.Add("onclick", evt);
            #endregion


        }

    }

   3、在第一二步之后就可以在SelectedIndexChanging和SelectedIndexChanged事件中添加处理逻辑了。

原文地址:https://www.cnblogs.com/asdyzh/p/9744166.html