如何在asp.net的网格视图中使用单选按钮

时间:2010-07-02 05:28:27

标签: asp.net

如何在网格视图中实现单选按钮?我使用了asp:radiob按钮但问题是它选择了列表中的所有单选按钮。如何一次只选择一个单选按钮?

4 个答案:

答案 0 :(得分:2)

您可以使用TemplateField在GridView中添加单选按钮。

<Columns>  
  <asp:TemplateField>  
    <ItemTemplate>  
      <asp:RadioButton ID="rdoYes" runat="server" Text="Yes" Checked="true" />  
    </ItemTemplate>  
   </asp:TemplateField>  
</Columns>  

如果您添加了radio button,则可以选择个人GridView

答案 1 :(得分:0)

通过为他们定义GroupName,使所有单选按钮成为组的一部分。

以下是一个例子:

<html>
<body>

<form runat="server">
Select your favorite color:
<br />
<asp:RadioButton id="red" Text="Red" Checked="True" 
GroupName="colors" runat="server"/>
<br />
<asp:RadioButton id="green" Text="Green"
GroupName="colors" runat="server"/>
<br />
<asp:RadioButton id="blue" Text="Blue" 
GroupName="colors" runat="server"/>
<br />
<asp:Button text="Submit" OnClick="submit" runat="server"/>
<p><asp:Label id="Label1" runat="server"/></p>
</form>

</body>
</html>

答案 2 :(得分:0)

如果您要使用网格视图并且想要在TemplateField上放置单选按钮以充当指向您的选择的指针,只需在rbSelector_CheckedChanged()上使用此代码...

protected void rbSelector_CheckedChanged(object sender,System.EventArgs e)

{

   //Clear the existing selected row 
   foreach (GridViewRow oldrow in GridView1.Rows)
   {
       ((RadioButton)oldrow.FindControl("rbSelector")).Checked = false;
   }

   //Set the new selected row
   RadioButton rb = (RadioButton)sender;
   GridViewRow row = (GridViewRow)rb.NamingContainer;
   ((RadioButton)row.FindControl("rbSelector")).Checked = true;

}

如果有任何问题,请告诉我,好吗?希望这段代码可以像我一样帮助新手。

Amit Patel

答案 3 :(得分:0)

使用带有标准HTML控件的TemplateField然后使用代码隐藏使用Request.Form

ASPX:

<asp:TemplateField>
    <ItemTemplate>
        <input type="radio" name="group1" value='<%# Eval("YourValue") %>' />
    </ItemTemplate>
</asp:TemplateField>

代码隐藏:

string radioValue = Request.Form["group1"].ToString();