我写了这样一个DataGrid<asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 88px; POSITION: absolute; TOP: 48px" runat="server"
AutoGenerateColumns="False" DataKeyField="">
<Columns>
<asp:TemplateColumn HeaderText="fsdf">
<ItemTemplate>
<input type="radio" runat="server" id="rdbSelect" name="rdbSelect">
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="w1">
<ItemTemplate>
<asp:Label ID="lbl" Runat="server">
<%# DataBinder.Eval(Container.DataItem,"w1")%>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>现在想取得radio的事件,用户只能选一个RADIO,在选另一个时另一个不选,想写一个去掉checked=fase.
但是datagrid中radio的id是动态生成的,我想过用js可是取不到ID.
请帮忙.谢谢

解决方案 »

  1.   

    //****动态生成时,设置rdaio控件的ID不一样,name一样即可
      

  2.   

    zhangxiaopin(zxp) ( ) 信誉:100  2006-04-28 09:03:00  得分: 0  
     
     
       //****动态生成时,设置rdaio控件的ID不一样,name一样即可
      
     
    怎么设置?
      

  3.   

    我现在可以往里写onclick事件了,但是我想在点中其中一RADIO时 false掉其它的,不知怎么做?
    怎么没人回呢?
      

  4.   

    动态生成是指在onItemDataBind事件中动态生成一列StringBuilder sb = new StringBuilder();
    DataRowView drv = e.Item.DataItem as DataRowView;
    string strValue = drv != null ? drv[mRadioDataField].ToString() : string.Empty;sb.Append( "<input id='RadioButtonList1_" )
     .Append( this.CurrentPageIndex*this.PageSize+e.Item.ItemIndex+1 )
    .Append("'");sb.Append("  type='radio' name='RadioButtonList1' value='")
     .Append(strValue)
     .Append("' />");  e.Item.Cells[iIndex].Text =sb.ToString();