当单击checkBox的时候,在选中事件中将DataList中当前行的标识获取到,这样在点删除的时候就可以知道你要删除哪一条数据了。
你可以仿照下面的伪代码来写:
(1)DataList中添加CheckBox,并为其添加
CommandArgument属性与CommandName属性...
<asp:CheckBox
ID="CheckBox1"
runat="server"
Text="CheckBox"
CommandArgument='<%#
Eval("ID")
%>'
CommandName="del"/>
(2)DataList有个事件OnItemChange事件,事件在单击DataList控件中的任一CheckBox时引发...这样在单击当前行的按钮时就会触发事件并获得当前行的ID,进行删除 *** 作啦....
protected
void
DataList1_ItemChange(object
source,
DataListCommandEventArgs
e)
{
if
(e.CommandName
==
"del")
{
string
strID
=
e.CommandArgument.ToString()//获取到id就可以进行相应 *** 作了
Response.Write("strID")
}
}
stringU_name
=
((Label)e.Item.FindControl("Label4")).Text.Trim()
这句应该在itemCommand事件下的,e.Item.FindControl("Label4")).从触发事件的那行里找到ID是“Lable4”的控件,得到一个object类型的对象,
((Label)e.Item.FindControl("Label4"))然后把他转换成label,然后再取label的Text属性,.Trim()去掉前后空格
e里面还有另外一个属性,就是commandname,这个是跟触发事件的控件里的commandname是相对应的,也是自定义的,就跟你说的,在自定义模板中添加了LinkButton里的commandname,你两边对应起来就可以执行你想要的 *** 作
GridView基本不需要编写代码就可以实现数据的显示,分页,排序等功能。但是效率差。DataList除了不具备内置分页和排序功能外基本和GridView一样,效率高于GridView。
另外还有一种控件一样可以实现重复的数据显示,并且效率最高的,不包含任何多余代码,但是需要自己手写代码--Repeater控件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)