<asp:TemplateField HeaderText="Select One">
<ItemTemplate>
<asp:RadioButton ID="RadioButton1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
aspx.cs
protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow di in GridView1.Rows)
{
RadioButton rad = (RadioButton)di.FindControl("RadioButton1");
if (rad.Checked&&rad!=null)
{
s = di.Cells[1].Text;
}
}
Response.Redirect("applicants.aspx?form=" +s);
}
我正在选择使用此选择的行,但我在此处遇到问题我希望用户只能选择一个radiobutton
,但允许选择所有radiobutton
s曾经。你可以帮我解决这个问题。
请。
答案 0 :(得分:3)
也许我在派对上太晚了,但这样做会有所帮助, check out here......
这可能对将来观看此答案的人有用。
答案 1 :(得分:1)
在ASP页面中,您需要将GroupName
属性设置为对所有单选按钮都相同,例如:
<asp:RadioButton ID="RadioButton1" runat="server" GroupName="RadioGroup" />
答案 2 :(得分:0)
好吧,您可以使用以下代码 首先,您应该定义组名。以下代码将起作用
<asp:RadioButton ID="RadioButton1" OnCheckedChanged="rbSelector_CheckedChanged" AutoPostBack="true" GroupName="Apply" runat="server"></asp:RadioButton>
<强> C#强>
protected void rbSelector_CheckedChanged(object sender, System.EventArgs e)
{
foreach (GridViewRow oldrow in GridView2.Rows)
{
((RadioButton)oldrow.FindControl("RadioButton1")).Checked = false;
}
//Set the new selected row
RadioButton rb = (RadioButton)sender;
GridViewRow row = (GridViewRow)rb.NamingContainer;
((RadioButton)row.FindControl("RadioButton1")).Checked = true;
}
答案 3 :(得分:0)
您可以尝试使用此链接选择网格中的单个单选按钮:http://www.c-sharpcorner.com/uploadfile/krishnasarala/select-single-radio-button-in-gridview-in-Asp-Net/
答案 4 :(得分:0)
使用GroupName属性本身不起作用,每个单选按钮仍将获得唯一的名称属性,因为它们位于网格的不同行中。
一种选择是使用Literal控件(example)手动发出单选按钮标记。这样可以轻松地在客户端对单选按钮进行分组,但需要更多的工作来确定在回发时选择了哪个按钮。
当我需要这种行为时,我发现将单选按钮保持为服务器端控件更容易,并且只使用jQuery强制执行按钮组。如您所示,将RadioButton放入TemplateField中,然后添加此代码以在选中其中一个时取消选中所有其他按钮:
$(document).ready(function () {
// could also pass in a unique ID selector
createManualRadioButtonGroupForGridView(".myGridViewClass");
});
function createManualRadioButtonGroupForGridView(gridViewSelector) {
$(gridViewSelector + " input[type=radio]").change(function () {
var checkedRadioButton = this;
$(gridViewSelector + " input[type=radio]").each(function (e) {
if (this !== checkedRadioButton) {
$(this).prop("checked", false);
}
});
});
}