Asp.Net GridView点击/选中单行触发SelectedIndexChanged事件

3 篇文章 0 订阅
    // RowDataBound(行数据绑定事件)
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        // //判断是否为数据行(排除标题行)
        if (e.Row.RowType == 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
        }
    }

注意:在我的个人测试中,我发现了一个问题,那就是只能选中行一次,然后第二次就不能再次选中行了!

           后来我的解决办法是:往GridViw控件添加一个列,大家可以把这个列放在最后一个列,方便操作隐藏,

           这个列具体怎么添加呢?下面详细解答哈!哈哈!

第一步:

第二步:
               
第三步:当然是选择编辑列,鼠标点击!(图片省略)

第四步:根据图片的步骤一步步来,最后那一步是将此字段转换为TemplateField,然后可以在里面隐藏这个列了,设置样式,把宽度高度设置0px,最后把文本描述去除就OK了!简单吧!


第五步:将刚才那个选择列字段转成TemplateField,就变成这样子了!对吧!然后把记得把Text内容清空!(实现隐藏的效果)


第六步:在Page 添加一个属性:EnableEventValidation="false" 并且设置为false(解决提示错误!小编当时的环境是会报错的!加了这个属性之后,就不会报错了,这个属性的意思是,取消验证的意思) 



第七步:完整的效果如下:

最后小编想说的是:但愿这个简陋的教程对你们有帮助吧!

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值