DataList制作删除功能以及它的几个事件 (摘)

本文详细介绍了如何在ASP.NET的DataList控件中实现删除功能,包括设置DatakeyName属性、添加带有CommandName属性的Button、注册ItemCommand事件以及在事件中执行删除操作的完整步骤。
先建立一个DataList控件

看看其中的三个事件 ItemCommand、ItemCreated、ItemDataBound

要做删除事件主要是用ItemCommand,它会引发CommandEvent事件

ItemCreated的事件是在控件初始化加载时能加载些什么,如果要注册一些提示脚本和样式等信息在这里写就可以

我曾经遇到过用SESSION判断其中的按钮是不是可用,就写在这里面了.

ItemDataBound是在数据绑定后激发,同样可以配合着第一种事件做删除等操作

第一步:在DataList里加入DatakeyName属性

             <asp:DataList ID="DataList1" runat="server" DataKeyField="RemarkID" Width="100%" >

             </asp:DataList>

             这里的RemarkID是从数据库中绑定的主键的字段名

第二步:在DataList的模板中放入一个BUTTON,这里用LINKBUTTON做,并加上commandname属性

<asp:DataList ID="DataList1" runat="server" DataKeyField="RemarkID" Width="100%" >

          <ItemTemplate>

                   <asp:LinkButton ID="LinkButton2" commandname = "DRdel" runat="server">删除</asp:LinkButton>

          </ItemTemplate>

</asp:DataList>

第三步:加上上面提到的事件

 <asp:DataList ID="DataList1" runat="server" DataKeyField="RemarkID" Width="100%" OnItemCommand="DataList1_ItemCommand" >

然后就是在事件中添加信息

 

   protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    
...{
        
if (e.Item.ItemIndex != -1 && e.CommandName == "DRdel")//判断索引和CommandName
        ...{
            
int id = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString());//获取激发事件时的行的主键ID
            FCD_Remark fcd_Remark = new FCD_Remark();//这是自定义类
            if (fcd_Remark.Delete(id))//调用的删除方法
            ...{
                Lb_message.Text 
= "删除评论成功";
                BindRemark();
            }

            
else
            
...{
                Lb_message.Text 
= "删除评论失败";
            }

        }

    }

 

上面的自定义类各位完全可以自己换成自己的删除方法

如果配合其他的事件还可以添加这样的效果:

 

  protected void dlMessages_ItemCreated(object sender, DataListItemEventArgs e)
    
...{
        
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)     //判断行和交替行
        ...{
            LinkButton lbtnDelete 
= (LinkButton)e.Item.FindControl("lbtnDelete");   //寻找到DataList中的LINKBUTTON按钮
            if (lbtnDelete != null)
            
...{
                lbtnDelete.Attributes.Add(
"onclick""javascript:return confirm('请注意:删除留言后,该项留言若有有回复,回复也被删除。您确认要删除该项留言吗?');");           //注册删除提示框
                lbtnDelete.CommandArgument = dlMessages.DataKeys[e.Item.ItemIndex].ToString();   //绑定主键
                lbtnDelete.CommandName = "DeleteLword";   //绑定CommandName
            }

        }

    }


//下面的代码类似于上面的  注释就不写了
    protected void dlMessages_ItemCommand(object source, DataListCommandEventArgs e)
    
...{
        
if (e.Item.ItemIndex != -1 && e.CommandName == "DeleteLword")
        
...{
            
int LwordTabId = int.Parse(e.CommandArgument.ToString());
            
if (new BLLLWordTab().Delete(LwordTabId))
            
...{
                tdMsg.InnerHtml 
= "<font color='red'>删除留言成功!</font>";
                ShowLword(ViewState[
"PlayerID"].ToString());
            }

            
else
            
...{
                tdMsg.InnerHtml 
= "<font color='red'>删除留言失败!</font>";
            }

        }

    }

 

需要注意的是,在DATALIST中定义的控件是不能直接在代码窗体中找到的,必须用FindControl方法才能找到



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1903034

转载于:https://www.cnblogs.com/mgod/archive/2007/12/08/987846.html

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制方法。通过结合数据驱动技术与Koopman算子理论,将非线性系统动态近似为高维线性系统,进而利用递归神经网络(RNN)建模并实现系统行为的精确预测。文中详细阐述了模型构建流程、线性化策略及在预测控制中的集成应用,并提供了完整的Matlab代码实现,便于科研人员复现实验、优化算法并拓展至其他精密控制系统。该方法有效提升了纳米级定位系统的控制精度与动态响应性能。; 适合人群:具备自动控制、机器学习或信号处理背景,熟悉Matlab编程,从事精密仪器控制、智能制造或先进控制算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①实现非线性动态系统的数据驱动线性化建模;②提升纳米定位平台的轨迹跟踪与预测控制性能;③为高精度控制系统提供可复现的Koopman-RNN融合解决方案; 阅读建议:建议结合Matlab代码逐段理解算法实现细节,重点关注Koopman观测矩阵构造、RNN训练流程与模型预测控制器(MPC)的集成方式,鼓励在实际硬件平台上验证并调整参数以适应具体应用场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值