如何在网格视图中实现单选按钮?我使用了asp:radiob
按钮但问题是它选择了列表中的所有单选按钮。如何一次只选择一个单选按钮?
答案 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();