asp.net – 转发器控件中的单选按钮列表
发布时间:2020-12-15 20:51:13 所属栏目:asp.Net 来源:网络整理
导读:我的页面中有一个转发器控件.在检查单选按钮时,我需要在所有行(项目模板)中都有一个单选按钮,其余的单选按钮必须取消选中. 这该怎么做? 提前致谢, 托尔 解决方法 不幸的是,在Repeater中使用时,GroupName属性不能按预期工作,这是一个已知错误( http://suppor
我的页面中有一个转发器控件.在检查单选按钮时,我需要在所有行(项目模板)中都有一个单选按钮,其余的单选按钮必须取消选中.
这该怎么做? 提前致谢, 解决方法
不幸的是,在Repeater中使用时,GroupName属性不能按预期工作,这是一个已知错误(
http://support.microsoft.com/kb/316495).问题是Repeater实现了INamingContainer接口,该接口要求所有嵌套控件在呈现为HTML时具有唯一名称.这会导致单选按钮中断,因为为了使它们正常工作,它们必须具有相同的名称.
我遇到过两种解决方法: 1 – 第一个是客户端javascript解决方案.它由Microsoft support提供.或者更容易阅读的版本here. function SetUniqueRadioButton(nameregex,current) { re = new RegExp(nameregex); for(i = 0; i < document.forms[0].elements.length; i++) { elm = document.forms[0].elements[i] if (elm.type == 'radio') { if (re.test(elm.name)) { elm.checked = false; } } } current.checked = true; } 现在该函数需要链接到转发器的OnDataItemBound事件中的单选按钮.将“RadioButton”替换为RadioButton控件的名称,将“RadioGroup”替换为您选择的GroupName: protected void Repeater1_ItemDataBound(object sender,RepeaterItemEventArgs e) { if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) return; RadioButton rb = (RadioButton) e.Item.FindControl("RadioButton"); string script = "SetUniqueRadioButton('Repeater1.*RadioGroup',this)"; rb.Attributes.Add("onclick",script); } 2 – 第二个解决方案是使用继承自RadioButton的自定义用户控件的服务器端解决方案.教程和源代码可以在这里下载:http://www.codeproject.com/KB/webforms/How_group_RButtons.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何在单击Html.ActionLink时加载局部视图?
- asp.net-mvc – EF实体与服务模型与查看模型(MVC)
- asp.net – 如何使用MVC Razor设置类等html属性?
- ASP.NET拒绝访问该路径
- asp.net-core – 哪些.NET框架版本支持.NET Framework(CLR)
- asp.net-mvc-3 – IoC对泛型的关注点分离
- ASP.Net Web API架构选择
- .NET图表控件 – 轴X文本旋转
- asp.net-identity-2 – asp.net mvc identity 2运行两个不同
- 禁用ASP.Net ReportViewer控件上的分页
推荐文章
站长推荐
- asp.net-mvc – 服务层中的AutoMapper
- asp.net core swagger使用及注意事项
- asp.net – 如何序列化LINQ-to-SQL惰性列表
- asp.net-mvc – ASP.NET MVC表单身份验证和未经身
- asp.net – 无法获取项目引用的依赖项
- asp-classic – 是代码页65001和utf-8同样的东西
- asp.net – 来自数据库的实体框架更新模型,不为t
- asp.net-core – db ASP.NET Core中的临时保存密
- asp.net – context.Response.Charset = Encodin
- asp.net – 以纯文本识别URL
热点阅读