实现Repeater控件的记录单选

有朋友问及,在Repeater控件中第一列放置一个RadioButton,实现对记录的单选。

下面Insus.NET想举个例子来实现与说明。

为Repeater控件准备数据:

在ASPX网页上,写好Repeater控件:

再去ASPX.cs代码页中去实现把数据绑定给Repeater控件:

 
现在我们试运行一下,看看效果:

数据是显示出来了,但是单选功能有问题,实现不了单选。是啥原因?打开运行时的html来看看:


看到否,由于每一行的RadioButton均会产生各自的name。因此只能各自为政了。
现在我们需要想办法把这个name的属性值均改为一样就行了。

因此,Insus.NET想到了重写ASPX的html。需要运用到正则,把这个属性值替换为相同的即可。
有关正则,Insus.NET是弱项,请教了孔伟朋友,他给到的正则如下:

(?i)(?<=<input(?!((?!(value|name)).)+>)[^<>]+)name=[^>]+value=""RadioButton1""


在ASPX.cs写重写方法:



再次运行并查看html源代码:




此时,已经看到name的属性的值均相同了。运行效果可以想象得到,正常了:


 

原文地址:https://www.cnblogs.com/insus/p/7426334.html