在DataList实现RadioButton单选的解决方案

最近在做一个动态生成电子报页面设计和编码工作,需求是这样的:选择一个样式,这个样式的缩略图和一个RadioButton绑定在DataList中,另外还有一个报头横幅和一个RadioButton绑定在另一个DataList中,需要实现单选功能。ps: 本文顺便讨论DataGrid中RadioButton的单选功能的实现。

    方案大致可以分为2种,一是使用JavaScript脚本从客户端操作RadioButton,二是使用服务器端实现单选。

    一 使用JavaScript脚本从客户端操作RadioButton

    我试过使用Html的Radio去实现,不用RadioButton,但是如果Radio没有加Runat = server的话,无法从服务端获取它的checked属性,当然就不能判断选择那副图片了,这种方案只适合获取value的情形。如果按照孟宪会的方法是倒是可以的。具体代码如下:

 二 使用服务端解决

  完全通过C#代码去操作是没有实现方案的,至少我还没有发现。但是如果是操作DataGrid是可以的,原因在于DataGridItem可以强制转化为tablecell.但是不能在DataList中实现。因为DataListItem不能转换为TableCell.具体代码如下:

public void SetFalseone(object sender, System.EventArgs e)
  {
      RadioButton rdo = (RadioButton)sender;
      TableCell cell = (Table)rdo.Parent;
      DataGridItem item = (DataGridItem)rdo.Parent;
     
      for (int i = 0; i < this.ItemGrid.Items.Count; i++)
      {
          if (i != item.ItemIndex)
          {
              RadioButton rbt = (RadioButton)this.ItemGrid.Items[i].FindControl("rbttruck");
              rbt.Checked = false;
          }
      }
  }  

<asp:DataList ID="dtgtruck" runat="server">
        <ItemTemplate>
            <asp:RadioButton   id="rbttruck"   runat="server"   OnCheckedChanged="SetFalseone"   AutoPostBack="True"></asp:RadioButton>
            <%# Container.DataItem%>
        </ItemTemplate>
        </asp:DataList>

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值