重写RadioButtonList服务器控件的RenderItem方法,隐藏radio元素

本文介绍如何重写RadioButtonList服务器控件的RenderItem方法,通过判断浏览器类型来实现对radio元素的隐藏。在IE和非IE浏览器中,分别通过设置样式width:0px;height:0px或display:none达到隐藏效果。实验证实在Firefox和Internet Explorer浏览器上,隐藏后的radio元素不影响带有CSS的label标签显示,同时保持AutoPostBack=true时的正常回调功能。
摘要由CSDN通过智能技术生成

思路:先判断浏览器是否为IE浏览器,如果是IE浏览器就将radio元素样式为width:0px;height:0px;若不是IE浏览器就将radio元素的样式设置为display:none。

//注释掉原来的RenderItem方法
//base.RenderItem(itemType, repeatIndex, repeatInfo, writer);
bool isIE = HttpContext.Current.Request.UserAgent.ToLower().IndexOf("msie") > 0;
ListItem li = Items[repeatIndex];
//回调函数的eventTarget
string name = this.ClientID.Replace('_','$')+"$"+repeatIndex.ToString();
//用于radio元素的name属性
string pname = this.ClientID.Replace('_','$');
//用于radio元素的id属性及label标签的for属性
string id = this.ClientID + "_" + repeatIndex.ToString();
//定义当AutoPostBack=true时的回调
string onclick = AutoPostBack?"οnclick=\"javascript:setTimeout(\'__doPostBack(\\'"+name+"\\',\\'"+li.Value+"\\')\',0)\"":"";
//SelectedCssClass和ItemCssClass是我增加的两个C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值