Поскольку сетка отображается как элемент таблицы, во время выполнения она будет назначать разные "имена" для каждой радиокнопки , давая, что GroupName не будет работать.
Но вызывая функцию JavaScript для проверки переключателя, чтобы выбрать по одному переключателю за раз вместо присвоения одного и того же GroupName для нескольких переключателей вне вида сетки.
Функция javascript устанавливает строку текущего стиля выбранной радиокнопки, чтобы определить, какая строка выбрана, и затем переключается между радиокнопками в виде сетки, а затем отменяет выбор предыдущей выбранной радиокнопки и устанавливает стиль строки обратно на по умолчанию.
См. Код ниже,
секция JavaScript,
<script language="javascript" type="text/javascript">
function CheckOtherIsCheckedByGVID(rb) {
var isChecked = rb.checked;
var row = rb.parentNode.parentNode;
var currentRdbID = rb.id;
parent = document.getElementById("<%= GridView1.ClientID %>");
var items = parent.getElementsByTagName('input');
for (i = 0; i < items.length; i++) {
if (items[i].id != currentRdbID && items[i].type == "radio") {
if (items[i].checked) {
items[i].checked = false;
}
}
}
}
</script>
секция Aspx,
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:RadioButton runat="server" ID="RadioButton1" onclick="javascript:CheckOtherIsCheckedByGVID(this);">
</asp:RadioButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
ПРИМЕЧАНИЕ: используемый здесь онклик является свойством html и будет отображаться в свойстве intellisense Visual Studio. Так что просто введите это, как указано в моем коде.
Я проверил это и отлично работал для меня.
Надеюсь, это сработает для вас ..