zoukankan      html  css  js  c++  java
  • dotNet平台模板列中的单选无效的解决方案

    最近在grid里添加一个单选列,最开始直接创建一个模板列,然后在模板列里放一个radiobutton。并指定其GroupName。这是radiabutton最常用的方法。但是在Grid里,这样却毫无效果。

          开始打算用javascript写响应radiobutton的onclick函数。思路的确可以。但是为什么radiobutton在grid里指定了其GoupName还是不能实现单选呢?

         写了个测试用例。前台代码如下:(数据在后台绑定了)

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">     
    <title>无标题页</title>
    <script>
    function setradio(grid,radio){
    var grid=document.getElementById(grid);
    var radios=grid.getElementsByTagName("input");
    for(var i=0;i<radios.length;i++){
    if(radios.type=radio&&radios[i]!=radio){
    radios[i].checked
    =false;
    }
    }
    }
    </script> </head>
    <body>
    <form runat="server">
    <div>
    <asp:GridView runat="server">
    <Columns>
    <asp:TemplateField>
    <ItemTemplate>
    <asp:RadioButton runat="server" GroupName="chooze"/>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>
    </div>
    </form>
    </body>
    </html>

    调试时Grid显示的页面为:

    图片

    很明显,gird被解析成一个table。里面的radiobutton被解析成input。这个是很自然的。此外,VS还(通过添加前缀)刻意保证每个radiobutton的GroupName都不一样。所以在grid里通过指定其groupName的方式来使得模板列中的radiobutton为同一个组是行不通的(就是有点想不通为什么微软要这样做,可能是一个bug)。实现在grid里单选的比较简单的方法就是用javascript函数。就是上面前台代码的那个setradio()函数。

    Bingo,go,go,go!
  • 相关阅读:
    xcode6创建工程时 默认去掉了PrefixHeader.pch
    KVC访问私有成员
    Apple Watch 中Context Menu的应用
    Apple Watch应用创建
    NSURLConnection加载数据并展示
    UIView 的exclusiveTouch clipsToBounds和transform属性
    Shell的一些基本用法
    NS_ENUM和NS_OPTIONS
    iOS国际化时遇到错误: the data couldn't be read because it isn't in the correct format.
    iOS8中UIAlertController的使用
  • 原文地址:https://www.cnblogs.com/chenhaibin/p/2257221.html
Copyright © 2011-2022 走看看