repeater编辑更新删除

本文介绍如何使用ASP.NET中的Repeater控件实现数据的编辑、更新与删除功能。通过设置ItemTemplate和使用LinkButton触发相应事件,可以灵活地对数据显示状态进行切换,并完成数据更新操作。

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

repeater编辑更新删除  
  <asp:Repeater id="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound" OnItemCommand="Repeater1_ItemCommand">  
     <ItemTemplate>  
        <asp:Panel ID="plItem" runat="server">  
        <tr>  
            <td><%# DataBinder.Eval(Container.DataItem,"ItemValue") %></td>    
            <td>  
                <asp:LinkButton runat="server" ID="lbtEdit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id")%>' 
                  CommandName="Edit" Text="编辑"></asp:LinkButton>&nbsp;&nbsp;&nbsp;  
                 <asp:LinkButton runat="server" ID="lbtDelete" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id")%>' 
                  CommandName="Delete" Text="删除"></asp:LinkButton>  
             </td>  
         </tr>  
         </asp:Panel>  
         <asp:Panel ID="plEdit" runat="server">  
         <tr>  
             <td><%# DataBinder.Eval(Container.DataItem,"userid") %></td>  
             <td><asp:TextBox ID="txtItemValue" Text='<%# DataBinder.Eval(Container.DataItem,"ItemValue") %>' runat="server"></asp:TextBox></td>  
             <td>  
                 <asp:LinkButton runat="server" ID="lbtUpdate" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id")%>' 
                  CommandName="Update" Text="更新"></asp:LinkButton>&nbsp;&nbsp;&nbsp;  
                 <asp:LinkButton runat="server" ID="lbtCancel" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id")%>' 
                  CommandName="Cancel" Text="取消"></asp:LinkButton>  
              </td>  
         </tr>  
         </asp:Panel>             
      </ItemTemplate>  
   </asp:Repeater>  


 public int id = 0;  

 protected void Page_Load(object sender, EventArgs e)  
 {  

     if (!IsPostBack)  
     {  
         BindGrid();  
     }  

 }  

 private void BindGrid()  
 {  
     //略
 }  


 protected void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)  
 {  

     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)  
     {  
         //DataRowView rowv = (DataRowView)e.Item.DataItem;  
         string id = rowv["id"].ToString();  

 
         ((Panel)e.Item.FindControl("plItem")).Visible = true;  
         ((Panel)e.Item.FindControl("plEdit")).Visible = false;  
  

     }  
 }  


 protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)  
 {  
     if (e.CommandName == "Edit")  
     {  
         ((Panel)e.Item.FindControl("plItem")).Visible = false;  
         ((Panel)e.Item.FindControl("plEdit")).Visible = true; 
     }  
     else if (e.CommandName == "Cancel")  
     {  
         ((Panel)e.Item.FindControl("plItem")).Visible = true;  
         ((Panel)e.Item.FindControl("plEdit")).Visible = false;  
     }  
     else if (e.CommandName == "Update")  
     {  
         //Update.  

          string strItemValue = ((TextBox)this.rptUserList.Items[e.Item.ItemIndex].FindControl("txtItemValue")).Text.Trim();
          decimal dItemValue = IS.Common.StrHelper.ToDecimal(strItemValue);
          int ID = IS.Common.StrHelper.ToInt32(e.CommandArgument.ToString());

          IS.Model.SiteBaseEMData model = new IS.Model.SiteBaseEMData();
          IS.BLL.SiteBaseEMData bll = new IS.BLL.SiteBaseEMData();
          model.ID = ID;
          model.ItemValue = dItemValue;

          bll.UpdateItemValue(model);
          model = null;  
      }  
      else if (e.CommandName == "Delete")  
      {  
          //Delete.              
          
      }  

      BindGrid();  

  }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值