Repeater 实现 OnSelectedIndexChanged

在Repeater中使用DropDownList的方法

 

在Repeater中使用DropDownList的方法

以下代码并不完整,只记录了关键的方法

 

aspx代码中

假设这是一个用户管理的系统的模型,有一个下拉菜单来操作用户状态

 

< asp:Repeater  ID="RepeaterArticleList" runat="server" onitemdatabound="RepeaterArticleList_ItemDataBound"> 
    < ItemTemplate
            < asp:HiddenField  ID="HiddenField1" Value=<%#Eval("ID") %> runat="server" /> 
   
     < asp:DropDownList  ID="droplist1" runat="server" OnSelectedIndexChanged="DropDownList1_Change" AutoPostBack="true" > 
                   < asp:ListItem  Text="启用" Value="1"></ asp:ListItem
                   < asp:ListItem  Text="禁用" Value="2"></ asp:ListItem
                   < asp:ListItem  Text="删除" Value="3"></ asp:ListItem
          </ asp:DropDownList >  
    </ ItemTemplate
</ asp:Repeater

 

cs代码中对应的DropDownList1_Change方法,取到用户ID,执行操作

复制代码
protected void DropDownList1_Change(object sender, EventArgs e)  
{
DropDownList drd = sender as DropDownList;
Repeater rps = drd.Parent.Parent as Repeater;
int n = ((RepeaterItem)drd.Parent).ItemIndex;
HiddenField hid = (HiddenField)(rps.Items[n].FindControl("HiddenField1"));
string userid= hid.Value;
string userState = Convert.ToInt32(drd.SelectedValue);

//已经拿到了id,可以进行操作

YourFunction(userid,userState);
}
复制代码

在前台显示的时候,再根据用户的状态值,来选择下拉菜单的默认选中值首先为RepeaterRepeater 控件添加事件 onitemdatabound="RepeaterArticleList_ItemDataBound" 接下来是完成代码

 

protected  void  RepeaterArticleList_ItemDataBound( object  sender, RepeaterItemEventArgs e) 
     {         
         DropDownList drd = (DropDownList)e.Item.FindControl( "droplist1" ); 
         HiddenField hid = (HiddenField)(e.Item.FindControl( "HiddenField1" )); 
         //用你的方法通过ID得到状态值到userstate   
         string  userstate = getUserStateByID(hid.Value); 
         drd.SelectedValue = userstate ; 
   
    

 转自https://www.cnblogs.com/zdkjob/articles/2256917.html

转载于:https://www.cnblogs.com/lidaying5/p/10751984.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值