触发Repeater中的Dropdownlist的SelectedIndexChanged如何获得Repeater的当前行

本文介绍了一个使用 ASP.NET Repeater 控件结合 DropDownList 的示例,展示了如何通过 AutoPostBack 和 ItemCommand 事件更新用户的权限角色。此示例中,Repeater 控件用于展示用户列表,每个用户项包含一个用于选择角色的 DropDownList。当用户更改角色时,将触发 AutoPostBack 事件,从而调用服务器端的方法更新用户的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<asp:Repeater ID="rptUserList" runat="server" OnItemCommand="rptUserList_ItemCommand"> 
  <ItemTemplate> 
    <tr> 
      <td> 
          <asp:CheckBox ID="chkDel" runat="server" /> 
        </td>                                                              
        <td style="word-break: break-all" align="center"> 
            <asp:Literal runat="server" ID="ltlId" Text=' <%#Eval("Id")%>' Visible="false"> </asp:Literal>          
            <%# Eval("UserName")%> 
        </td>          
        <td> 
          <asp:DropDownList ID="ddlRole" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlRole_SelectedIndexChanged"> </asp:DropDownList>                    </td>                        
                        

-------------------------------------------------------------- 


protected void ddlRole_SelectedIndexChanged(object sender, EventArgs e) 
    { 
      // Response.Write(((DropDownList)sender).SelectedValue); 

        DropDownList ddlRole = (DropDownList)sender; 
        int roleId = Convert.ToInt32(ddlRole.SelectedValue); 

        Repeater rptUserList = ddlRole.Parent.Parent as Repeater; 
        int n = ((RepeaterItem)ddlRole.Parent).ItemIndex;        
        int Id = Convert.ToInt32(((Literal)(rptUserList.Items[n].FindControl("ltlId"))).Text);
 
      
        //....下面写进数据库操作 
      //.... 
        
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值