GridView绑定radiobutton以后实现唯一选择,互斥

今日回答某贴时随笔备忘如下

楼上诸位的方法在gridview中无法实现哟
我刚才帮楼主试了下
<asp:GridView ID="GridView1" runat="server" OnDataBound="GridView1_DataBound" OnRowDataBound="GridView1_RowDataBound">
         
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        &nbsp;
                        <asp:RadioButton ID="RadioButton2" runat="server" GroupName="tester" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
是不能实现排斥的
因为radiobutton的排斥在html中实际上就是name值相同的radion会相互排斥
但是在gridview中的radionbutton的name值是会被默认修改为
<input id="GridView1_ctl02_RadioButton2" type="radio" name="GridView1$ctl02$tester" value="RadioButton2" />
name会被改变 = =#

这样可以解决
<asp:GridView ID="GridView1" runat="server" OnDataBound="GridView1_DataBound" OnRowDataBound="GridView1_RowDataBound">
         
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        &nbsp;&nbsp;
                        <asp:Label ID="Label2" runat="server" Text="Label"> </asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        GridViewRow g = e.Row;
        Label lab=(Label) g.Cells[0].FindControl("Label2");
        if (lab != null)
        {
            lab.Text = " <input id=/""+lab.ClientID+"/" type=/"radio/" name=/"RadioButton1/" value=/"1/" />";
        }
   
    }

posted @ 2008-10-15 11:07  Sean.Z  阅读(129)  评论(0编辑  收藏  举报