CommandName 与 CommandArgument

(一)
CommandName:其实可以设置成一种动作,比如Select,Update,Delete,等操作。。就是说CommandName是确定他到底引发的是哪一事件,如果CommandName的名字 等于datalist 的事件的名字 他就引发事件
CommandArgument:可以设置,如果是Delete的话就可以设置id,就是主键,根据得出的主键值进行删除操作
(二)
CommandArgument是引发事件的源的命令参数!相当于value值!
CommandName是引发事件的源的命令!相当于text!就是包含这个属性的指定控件引发了该事件!
(三)
适用场合:在利用数据绑定控件如:Repeater, linstview等时,因为每一项(ItemTemp;ate)只用一个ItemCommand事件,但是I有可能ItemTemplage的多个元素都可能激活这个事件,为了快速识别是谁激活这个事件时,就可以利用CommandName与CommandArgument了。
用法:在激活事件的元素属性中,如LinkButton, Button等都可以指定CommandName与CommandArgument属性,其中CommandName就是激活元素的名称,在ItemCommand的事件处理程序中确定激活元素,CommandArgument是传递给ItemCommand的事件处理程序
下面是个比较具体的例子:
(1)DataList中添加按钮,并为其添加 CommandArgument属性与CommandName属性...
  <asp:Button ID="Button1" runat="server" Text="Button" CommandArgument='<%# Eval("ID") %>' CommandName="del"/>
(2)DataList有个事件OnItemCommand事件,事件在单击DataList控件中的任一按钮时引发...这样在单击当前行的按钮时就会触发事件并获得当前行的ID,进行删除操作啦....
  protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
  {
  if (e.CommandName == "del")
  {
  string strID = e.CommandArgument.ToString();
  Response.Write("strID");
  }
  }

posted @   streetpasser  阅读(2854)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示