This article was previously published under Q316495
When you add a ASP.NET RadioButton control to the ItemTemplate of a data-bound Repeater server control, the RadioButton control that you created is not mutually exclusive when you run the ASP.NET page. This problem occurs even if the GroupName attribute is set for the RadioButton controls.
This problem occurs because the Repeater server control implements the INamingContainer interface, which requires that all controls that are nested within it must have a unique name when rendered in Hypertext Markup Language (HTML). Therefore, the HTML name attribute of any rendered child server control is unique.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
HTML versions 3.2 and later require that all radio button controls that are mutually exclusive have the same unique name attribute. Because controls that are inside a bound Repeater sever control must have a unique name, the rendered HTML RadioButton control is not mutually exclusive.
Note that the GroupName attribute should resolve this problem. If you set the GroupName attribute, every RadioButton control should render the same HTML name attribute that was specified by the GroupName attribute of the server control. The expected behavior does not occur because the unique client naming overrides the use of the GroupName property.
Steps to Reproduce the Problem
Create a new Microsoft Visual C# .NET Web application project.
In the Design view, drag a Repeater server control to the default Webform1.aspx page.
In HTML view, add the following <itemtemplate> code to Repeater1: