(一)
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");
}
}