实现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的属性的值均相同了。运行效果可以想象得到,正常了:


 

posted @ 2017-08-25 09:27  Insus.NET  阅读(882)  评论(0编辑  收藏  举报