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

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
Last Week in AI
Last Week in AI
腾讯CDC
The Cloudflare Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MyScale Blog
MyScale Blog
博客园 - Franky
MongoDB | Blog
MongoDB | Blog
I
InfoQ
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
Y
Y Combinator Blog
H
Help Net Security
T
Tailwind CSS Blog
美团技术团队
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed

博客园 - Insus.NET

Vue3实现拖放式上传 拖放式上传 实现MultipartStreamProvider经Web API上传文档或图片 文件上传和表单字段混合提交 在HttpContext.Current返回null时如何操作 angularjs根据类型动态加载组件 angularjs获取数据服务 扫一扫直连WiFi二维码 User Profile Service 服务未能登录 Visual Studio2026创建Vue项目 安装与配置node.js HTTP Error 403.14 - Forbidden VisualStudio2026回滚上一版本 消息认证码(加强) 网站无法使用插值字符串语法 HMAC(Hash-based Message Authentication Code)认证示例 浏览器自动发送域凭据 企业内小网站兼用Windows验证登录 访问用户控件的函数 onblur事件改为监听处理 将警报消息改为吐司消息 内容有无变化OnBlur即时更新引起的问题与解决 混合式提高用户编辑与操作效率 光标离开文框后即刻更新 WebForm实现Web API JavaScript对GridView删除行后并重新给其数据绑定 把CS值传给JS使用 v2 确认信息confirm由C#后端移至javascript前端 无法发布网站Web Site JavaScript判断字符是否为decimal
GridView数据控件中实现单选功能
Insus.NET · 2026-04-02 · via 博客园 - Insus.NET

GridView数据控件,在页面加载时,会呈现N条记录。
用户想从呈现的记录,选择其中1条。
点选GridView控件首列的radio,然后点GridView控件外的button得到数据行的数据。

GridView控制与Button如下排版,

 <asp:GridView ID="GridViewMeasuringToolData" runat="server" AutoGenerateColumns="false" DataKeyNames="ID"
     OnRowDataBound="GridViewMeasuringToolData_RowDataBound">
     <Columns>
         <asp:TemplateField>
             <HeaderStyle />
             <ItemStyle />
             <HeaderTemplate>
             </HeaderTemplate>
             <ItemTemplate>
                 <input type="radio" name="MySelectRecordData"
                     data-nbr='<%# Eval("ID") %>'
                     data-metric='<%# Eval("Metric") %>'
                    onclick="selectRowData(this);" 
                     />
             </ItemTemplate>
         </asp:TemplateField>
         <%--其它列--%>
     </Columns>
 </asp:GridView>

 <div style="margin-top: 3px;">
     <button type="button" id="selectforhave" runat="server" onclick="selectGridViewValue();">选择</button>
 </div>

注意一点,此radio只能使用html的标签,不能用asp:RadioButton。
为什么?因为服务控件不能生成统name。服务器控件asp:RadioButton有一个GroupName属性,实际运行起来,也起不了生成统一name来达成单选功能。

本例中,想获取数据行的数据是主键ID和metric字段值。使用data-xxx作为radio标签属性。

data-nbr='<%# Eval("ID") %>' data-metric='<%# Eval("Metric") %>'

用户点击radio时,会执行onclick事件selectRowData

<script type="text/javascript">  
 var nbr, metric;
 // 点击 Radio 时保存选中的值到全局变量
 function selectRowData(radio) {
     nbr = radio.getAttribute("data-nbr");
     metric = radio.getAttribute("data-metric");
 }
</script>

另一个Button的click事件selectGridViewValue
2026-04-02_17-16-03

<script type="text/javascript"> 
 function selectGridViewValue() {
     var radios = document.getElementsByName("MySelectRecordData");
     var selectedRadio = null;
     for (var i = 0; i < radios.length; i++) {
         if (radios[i].checked) {
             selectedRadio = radios[i];
             break;
         }
     }
     if (selectedRadio) {
         var nbr = selectedRadio.getAttribute("data-nbr");
         var metric = selectedRadio.getAttribute("data-metric");

        // 获取数据,在此处理相关功能...     
        
     } else {
         alert("请选择一条记录!");
     }
 }

 </script>

View Code