惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Stack Overflow Blog
Stack Overflow Blog
T
Threatpost
AWS News Blog
AWS News Blog
小众软件
小众软件
美团技术团队
L
Lohrmann on Cybersecurity
Hacker News: Ask HN
Hacker News: Ask HN
Security Latest
Security Latest
Jina AI
Jina AI
Hacker News - Newest:
Hacker News - Newest: "LLM"
宝玉的分享
宝玉的分享
A
Arctic Wolf
M
MIT News - Artificial intelligence
Scott Helme
Scott Helme
爱范儿
爱范儿
The Cloudflare Blog
博客园 - 聂微东
云风的 BLOG
云风的 BLOG
博客园 - 叶小钗
有赞技术团队
有赞技术团队
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
I
InfoQ
V
Visual Studio Blog
N
Netflix TechBlog - Medium
Latest news
Latest news
C
CERT Recently Published Vulnerability Notes
T
Tenable Blog
H
Heimdal Security Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 最新话题
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Threat Research - Cisco Blogs
S
Secure Thoughts
The Hacker News
The Hacker News
S
Schneier on Security
博客园 - 【当耐特】
T
The Exploit Database - CXSecurity.com
博客园_首页
N
News | PayPal Newsroom
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org

博客园 - Theo

【整理收藏】合并、压缩JS、CSS文件减少页面HTTP请求数的方法 前端要给力之:URL应该有多长? CSS Border使用小分享(转) 发个编程笑话,娱乐一下 sqlserver 生成100万个不重复的10位随机数存入数据库 各种按日期、时间段统计SQL语句 SQL 分析函数over partition 分组数据后取前N条 增加排名列SQL语句(需排名的列值相等时排名相同) GridView样式设置 - Theo - 博客园 笔记下UltraEdit的一些常用使用技巧 Web 网页安全色谱 Asp.Net 操作XML基类 警惕采用编码过的SQL恶意注入 .net Repeater无数据时显示"no result" 快速解决方法 生成随机验证码图片程序 javscript 实现iframe加载内容页出现LOADING效果 javascript+ajax控制滑块实现滑杆拉动式评论翻页效果 C# 实现实时3秒跳转页 - Theo - 博客园 遍历页面上所有TextBox控件并给它的Enabled赋值为false
Gridview 实现 全选多选(支持firefox)
Theo · 2009-03-14 · via 博客园 - Theo

 之前从网上借鉴了一个方法,在gridview中添加全选与不选批处理.但是不支持firefox 文章地址

 所以弄了个方法,现在以下的方法支持ff,已经测试通过

aspx代码

后台绑定gridview_rowDataBound事件

   protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        
switch (e.Row.RowType)
        {
            
case DataControlRowType.DataRow:
                CheckBox chkItem 
= (CheckBox)e.Row.FindControl("chkItem");
                chkItem.Attributes.Add(
"onclick", String.Format("checkTopCheckbox('{0}')"this.GridView1.ClientID));
                
break;case DataControlRowType.Header:
                CheckBox chkSelectAll 
= (CheckBox)e.Row.FindControl("chkSelectAll");
                chkSelectAll.Attributes.Add(
"onclick", String.Format("checkAllCheckboxes(this,'{0}')"this.GridView1.ClientID));
                
break;
        }
    }

获取select选择项的值:

   protected void btnCheckBatch_Click(object sender, EventArgs e)
    {
        
string aa = "";
        
foreach (GridViewRow _listItem in this.GridView1.Rows) //获取所选项
        {
            CheckBox chkbox 
= (CheckBox)_listItem.FindControl("chkItem");
            
if (chkbox.Checked)
            {
                
int _Id = Convert.ToInt32(this.GridView1.DataKeys[_listItem.RowIndex].Value);
                
//处理数据操作
                aa += _Id.ToString() + ",";
            }
        }

        Response.Write(aa);
    }

忘了加上没有选择项的时候按钮javascript提示了

  在aspx 也的<script> 中加入

    // 判断多选是否与选中项(没有选中的返回false)
    function slcNo_click(controlName)
    {
            var _checkbox;
            var i = 2;

            //_checkboxAll.checked=(_isChecked);

            while (document.getElementById(controlName + '_ctl' + getIDString(i) + '_chkItem')) {


                _checkbox = document.getElementById(controlName + '_ctl' + getIDString(i) + '_chkItem')
              if (_checkbox.type == 'checkbox') {
                if (_checkbox.checked) return true;
                i++;
                }
            } // while
            alert("请选择后再操作!");
           return false;
    }

    再在后台cs文件Page_Load事件中加入

       btnCheckBatch.Attributes.Add("onclick", String.Format("return slcNo_click('{0}')", this.GridView1.ClientID));

 这样就可以在没有选择任何项进行操作时弹出客户端提示不进行后台批量操作了。