转发器内的Asp.Net radiobutton不能使用CssClass和GroupName

时间:2012-02-01 16:27:37

标签: asp.net radio-button repeater

我已经创建了带有radiobutton的转发器和来自db的绑定数据,所有工作都很好而不是css和groupName ..当渲染时 - 它不起作用,用户可以检查所有的radiobuttons而不是一个... 这是我的代码,请帮忙......

 <asp:Repeater ID="rptList" runat="server">
      <ItemTemplate>
           <ul><li>  
               <asp:RadioButton ID="RadioButton8" 
                   runat="server" 
                   CssClass="w1" 
                   GroupName="Options" 
                   Text='<%# DataBinder.Eval(Container.DataItem, "EvName")%>'
                   ValidationGroup="Options" /> 
            </li></ul>
       </ItemTemplate>
 </asp:Repeater>

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。 我找不到不使用jquery的方法。

我能够使用本教程解决我的问题。 http://blog.marketnet.com/index.php/2010/03/01/overcoming-the-radio-button-repeater-bug/

从教程中复制:

在标记文件中,添加以下Javascript和jQuery:

<script type=”text/javascript” language=”javascript”>
    function SetUniqueRadioButton(strGroupName, current)
    {
      $("input[name$='" + strGroupName + "']").attr('checked', false);
      current.checked = true;
    }
</script>

使用RadioButton控件设置Repeater控件:

<asp:Repeater ID="rptMyRepeater" runat="server">
     <ItemTemplate>
          <asp:RadioButton ID="rdoButton" GroupName="GroupName" runat="server"/>
     </ItemTemplate>
</asp:Repeater>

最后,在代码隐藏文件中:

rdoButton.Attributes.Add("onclick", "SetUniqueRadioButton('MyGroupName',this)");