我得到了一个模板控件(一个转发器),列出了一些文本和其他标记.每个项目都有一个与之关联的单选按钮,用户可以 Select 中继器创建的项目之一.

中继器写入radiobutton,设置默认ASP生成的id和名称.NET命名约定使每个单选按钮成为完整的"组".这意味着所有单选按钮都是相互独立的,不幸的是,这也意味着我可以同时 Select 所有单选按钮.radiobutton有一个聪明的属性"groupname",用于设置一个公共名称,因此它们被分组在一起,因此应该是依赖的(因此我一次只能 Select 一个).问题是——这不起作用——中继器确保id和名称(控制分组)不同.

因为我使用的是中继器(可以是列表视图或任何其他模板化的数据绑定控件),所以不能使用RadioButtonList.那我该怎么办呢?

我知道我以前遇到过这个问题,并且解决了它.我几乎认识所有的ASP.NET程序员一定也有,所以为什么我不能用谷歌搜索并找到解决问题的可靠方法呢?我找到了通过JavaScript强制分组的解决方案(丑!)甚至把单选按钮当作非服务器控件来处理,迫使我用Request.Form[name]来读取状态.我还try 过在PreRender事件上覆盖name属性——不幸的是,拥有页面和母版页再次覆盖这个名称以反映完整的id/名称,所以我最终得到了相同的错误结果.

如果你没有比我发布的更好的解决方案,你仍然非常欢迎发布你的 idea ——至少我会知道我的朋友"杰克"关于ASP有多糟糕是正确的.NET有时是;)

推荐答案

谷歌富:asp.net radiobutton repeater problem

事实上,这是身份 destruct 造成的不幸后果.我的 idea 是创建一个-或者从众多可用的自定义控件中 Select 一个,在客户机上添加对同名的支持.

Asp.net相关问答推荐

强制从 /bin 而不是 GAC 加载程序集?

创建一个供 ASP.NET 应用程序中的所有线程使用的静态 Regex 对象是否有效?

SqlBulkCopy 超时

解析器错误消息:无法加载类型sometype

ASP.NET 在更新面板更新时显示正在加载...消息

在 IIS 上托管 ASP.NET 5 项目

带有邮箱地址参数的 WebApi 方法从 HttpClient 返回 404

如何在 ASP.NET 下拉列表中添加选项组?

更改后未应用 CSS

HttpModules 的执行顺序是如何确定的?

如何从 HTTP 请求中获取 MAC 地址?

如何在 IIS 7.5 上使用 ASP.NET 表单身份验证保护静态文件?

在 asp.net 中将 JSON 转换为 .Net 对象时出错

将当前谷歌 map 保存为图片

asp.net 网站上的第一页加载缓慢

Request.Cookies 和 Response.Cookies 之间的区别

ASP.Net 错误:应用程序池的标识无效

ASP.NET MVC NonAction 含义

如何判断字符串的第一个字符是否是字母,C#中的任何字母

如何将 DataTable 转换为类 Object?