冯东的博客

每天学一点,不断进取
随笔 - 87, 文章 - 4, 评论 - 327, 阅读 - 22万
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

嵌套的在GridView里的radiobutton 怎么才能只选中一个

Posted on   冯东  阅读(2653)  评论(7编辑  收藏  举报

GridView1  中有一列从数据库加载数据  ,并且加一列模板列,在编辑模板中  给该列加上radiobutton1  

但是运行起来后   那列所有radiobutton可被选中请问怎样处理才能让只选中一个阿!!!

这是今天在CSDN上看见有个朋友问的问题,我看见有的人说指定同一个GroupName属性,但是这个不管用,有人说用HTML控件代替服务器端控件,我觉得HTML空间不灵活,服务器端根据选择结果处理的时候不太好用,还有人说用JavaScript遍历真个GridView,我觉得这样也不好。我后来想了一个觉得跟前面几个比都要好一点的办法,用服务器端控件但是有不去遍历GridView的方法:
在服务器端给 GridView添加如下方法

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        
{
            
if (e.Row.RowType == DataControlRowType.DataRow)
            
{
                RadioButton rb 
= (RadioButton)e.Row.FindControl("RadioButton1");
                rb.Attributes.Add(
"onclick""judge(this)");//给RadioButton添加onclick属性
            }

        }

在ASPX页面里添加下面的JS脚本
    <script type="text/javascript">
        
var last = null;//最后访问的RadioButton的ID
        
function judge(obj)
        
{
            
if(last == null)
            
{
                last 
= obj.id;
           
//     alert(last);
            }

            
else
            
{
                
var lo = document.getElementById(last);
                lo.checked 
= "";
         
//       alert(last + "  " + lo.checked);
                last = obj.name;
            }

            obj.checked 
= "checked";
        }

    
</script>
这样就行了!呵呵,我觉得的至少比便利GridView要好吧!
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示