当前位置:编程学习 > C#/ASP.NET >>

关于在asp:Repeater 空间中嵌入了 RadioButtonList 控件后,如何取其行值的问题!

我现在有一个<asp:Repeater 控件,我在里面加入了 RadioButtonList 控件,具体的代码如下:

<asp:Repeater runat="server" ID="studentList" DataMember="ct_id" >
                
                <ItemTemplate>
                    
                            
                                <asp:RadioButtonList ID="SShow" DataMember="ct_id" runat="server" RepeatDirection="Horizontal" AutoPostBack=true OnSelectedIndexChanged="MainBorad_ItemDataBound">
                                    <asp:ListItem Value=0>出席</asp:ListItem><asp:ListItem Value=1>缺席</asp:ListItem>
                                </asp:RadioButtonList>
  
                                 
                </ItemTemplate>
              
</asp:Repeater>

现在的问题是,当我在页面上选择 RadioButtonList 的时候,我该如何触发事件?如果我触发 SShow_SelectedIndexChanged 事件的话,那么我该如何在该事件中获取易做图作的这个RadioButtonList所在的行的id;我不需要循环;能否有方法读取到,请各位高人指点! --------------------编程问答-------------------- RadioButtonList r = (sender as RadioButtonList);
Control ctl = r.Parent;
/*
while (ctl != null && !(ctl is RepeaterItem))
ctl = ctl.Parent;
 */
if (null != ctl)
{
int idx = ((RepeaterItem)ctl).ItemIndex;
// ...
} --------------------编程问答-------------------- 设置radiobuttonlist的commandName
Repeater 的ItemCommand事件

通过 e.CommandName判断
然后转换类型,取id --------------------编程问答--------------------

触发事件
((RadioButtonList)studentList.Items[0].FindControl("SShow")).SelectedIndexChanged+=new EventHandler(SShow_SelectedIndexChanged);


private void SShow_SelectedIndexChanged(object sender, EventArgs e)
{

}

取ID
((RadioButtonList)studentList.Items[0].FindControl("SShow)).ID

--------------------编程问答-------------------- 楼上正解 --------------------编程问答-------------------- FindControl效率比较低,用事件更好。学习了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,