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事件中添加处理逻辑了。

posted on 2018-10-05 09:18  asdyzh  阅读(578)  评论(0编辑  收藏  举报

导航