You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Repeater控件如何实现默认选中第一个RadioButton单选按钮

可行解决方案

以下两种实现方式按需选择即可,均不会影响原有单选互斥逻辑:

方案1:服务端绑定实现(推荐,逻辑更可控)

  1. 先给Repeater控件添加OnItemDataBound绑定事件,修改Repeater标签为:
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
  1. 对应后台.cs文件添加事件处理逻辑:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    // 仅处理数据行
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        // 判断为第一行时设置单选框默认选中
        if (e.Item.ItemIndex == 0)
        {
            RadioButton firstRdo = e.Item.FindControl("RadioButton") as RadioButton;
            firstRdo.Checked = true;
        }
    }
}

方案2:纯前端JS实现(无需修改后台代码)

在现有JS代码基础上添加页面加载完成后的默认选中逻辑,修改后的完整JS代码如下:

<script type="text/javascript" >
    // 页面加载完成后自动选中第一个单选框
    window.onload = function() {
        var allRadio = document.getElementsByTagName("input");
        for (let i = 0; i < allRadio.length; i++) {
            if (allRadio[i].type == "radio") {
                allRadio[i].checked = true;
                break;
            }
        }
    }

    function singleselection(rbid) {
        var rbutton = document.getElementById(rbid);
        var rbuttonlist = document.getElementsByTagName("input")
        for (i = 0; i < rbuttonlist.length; i++) {
            if (rbuttonlist[i].type == "radio" && rbuttonlist[i].id !== rbutton.id) {
                rbuttonlist[i].checked = false;
            }
        }
    }
</script>

内容的提问来源于stack exchange,提问作者santhosh karthi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:36:02