zoukankan      html  css  js  c++  java
  • 处理GridView不能单选

    代码在运行后,GridView会自动给input 的name属性赋值,导致了每一行的name属性都不一样,造成了不能单选的问题。

    解决:用JS,在数据绑定后通过JS遍历GridView中的RadioButton将name属性改为相同的值

    首先先来实现一个JS函数,用来获取遍历GridView中的RadioButton并将其name属性设置为一个统一的值,例如“myradio”,代码如下:

    View Code
     1 <script type="text/javascript">
    2 function SetRadioName() {
    3 var gv = document.getElementById("GridView1"); //获取GridView的客户端ID
    4 var myradio = gv.getElementsByTagName("input"); //获取GridView的Inputhtml
    5 for (var i = 0; i < myradio.length; i++) {
    6 if (myradio[i].type == 'radio')//hidden
    7 {
    8 myradio[i].setAttribute("name", "myradio");
    9 }
    10 }
    11 }
    12 </script>

    接下来在绑定数据后注册调用这段脚本,或者将该脚本写到页面标签视图的最下面,代码如下:

    View Code
    1 protected void Page_Load(object sender, EventArgs e)
    2 {
    3 if (!IsPostBack)
    4 {
    5 this.BindGridView();
    6 ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(),
    7 "SetRadioName()", true);
    8 }
    9 }

    运行,成功!!!!!!完美解决!

  • 相关阅读:
    响应式布局
    Margin是什么?
    分布式系统设计(1)
    Hadoop处理大量小文件的问题和解决方法
    Facebook揭密:如何让MySQL数据库集群自主运行
    大数据营销的优势
    LevelDB系列之SSTable(Sorted Strings Table)文件
    LevelDB系列之Log文件
    LevelDB系列之整体架构
    LevelDb系列之简介
  • 原文地址:https://www.cnblogs.com/lihuijun/p/2422879.html
Copyright © 2011-2022 走看看