使用DataList吧

article/2025/8/16 9:01:14

这是个具有明显煽动性的标题,没错,在这里就是提议大家使用DataList。
在MSDN中文站有一篇关于repeater,datalist和datagrid的性能测试的文章,我也把这篇文章转到了我的站的“转载嘿嘿 希望你接受我的教训 一定早做打算 精华”里,这是篇不错的文章,里面有对这三个控件的详细的分析。其中从性能比较可以很清楚的看到repeater和datalist在效率上基本没有区别,而datalist和repeater相比还有很多优秀的性能。当然在进行简单处理的时候还是repeater好用一些,但如果要做“留言本”级的系统的时候,用datalist就有很明显的优势!

图:性能比较
不过还是要详细的说说这个DataList,我们使用它主要是因为它有四个命令select/edit/update/cancel,以及与之相应的两个模板selecteditemtemplate/edititemtemplate.根据我的观察,好象每次点击按钮执行操作的时候,都会引发OnItemCommand所指定的事件,所以大家在使用OnItemCommand时一定要注意。但是我们也可以利用这个特性来使用DataList所缺少的delete命令,办法就是在需要的行添加一个<asp:LinkButton ID="link_delete" Commandname="delete" Text="delete" runat="server"></asp:LinkButton>,因为每次点击按钮都要先执行OnItemCommand所指定的DataList_OnSelectedCommand事件,我们就可以在这里面加上对delete事件的定义:


//选择时的事件
private void dl1_selected(object sender,DataListCommandEventArgs e){
//删除记录
if(e.CommandName=="delete"){
// do something about delete 
}
//结束删除记录
else{
dl1.SelectedIndex=e.Item.ItemIndex;
set();
lb2.Text="select";
}
} 


这样就完成了一次删除过程。同样的,如果需要定义其他别的什么功能有,也可以放到这里面来。
最后再说一下DataList的工作方式,对DataList还不是很熟悉的朋友可以接着往下读。
这是一个datalist控件的简单引用,用来指定事件的处理程序。
<asp:DataList ID="dl1" runat="server" OnItemCommand="dl1_selected" OnEditCommand="dl1_edit" OnCancelCommand="dl1_cancel" OnUpdateCommand="dl1_update">
DataList的selecteditemtemplate/edititemtemplate模板并不是一开始就显示在网页上,而是当用户单击了CommandName为select/edit的按钮后才会对应的出现,而像我们上面所说的,当没有指定任何select或edit的commandname时,selecteditemtemplate就会出来,而当你把commandname设为edit/update/cancel时,这个selecteditemtemplate就不会出现。

//点击编辑按扭的事件
private void dl1_edit(object sender,DataListCommandEventArgs e){
dl1.EditItemIndex=e.Item.ItemIndex;
set();
}
//点击取消按扭的事件
private void dl1_cancel(object sender,DataListCommandEventArgs e){
dl1.EditItemIndex=-1;
set();
}
//点击更新按扭的事件
private void dl1_update(object sender,DataListCommandEventArgs e){
//do something about update 
} 


按照上面的代码,点edit的时候edititemtemplate就会出现,而点cancel的时候就会恢复成select的样子(注意不是什么都没有点的样子),点update自然就会转到执行相关的update操作。说是datalist的一些命令,其实还是得我们自己来指定。

 

 


http://chatgpt.dhexx.cn/article/jbnynd44.shtml

相关文章

html5-datalist标签-定义选项列表

datalist使用 datalist使用需与input关联起来&#xff0c;input定义list属性&#xff0c;同时datalist定义id属性&#xff0c;两者的值必须相同。 实例代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><m…

常用数据集合—List

1、List、Map、Set、Queue、Array 2、数据结构&#xff1a;数组、链表 3、实现List方法的类Ctrl T&#xff08;设置的是Eclipse快捷键&#xff09;或右键查找 4、这里就简单看下最常用的ArrayList 5、构造方法一目了然 6、添加数据&#xff0c;一条条添加或者添加集合 良好…

DataList的数据绑定

8.4.1 DataList的数据绑定 DataList控件中通过自定义模板来设置数据的显示样式&#xff0c;它支持如下模板类型&#xff1a; ItemTemplate&#xff1a;包含一些 HTML元素和控件&#xff0c;将为数据源中的每一行呈现一次这些HTML元素和控件。 AlternatingItemTemplate&#xf…

datalist标签

学习笔记&#xff0c;仅供参考&#xff0c;有错必纠 参考自&#xff1a;w3school 关于datalist标签 <datalist> 标签定义选项列表&#xff0c;应该与 <input>标签配合使用该&#xff0c;它定义 input 可能的值&#xff1b; <datalist> 及其选项不会被显示出…

datalist 元素

效果图&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>datalist 元素</title> </head> <body><form action"#" method"post">请输入用户…

<datalist>标签

<datalist>标签是HTML5新增的元素&#xff0c;用于input的标签可选值。 用法&#xff1a;input标签的list属性指定自定义的datalist可选值&#xff0c;datalist的id于list值相同即可完成绑定。 可选值: <input type"text" list"myDatalist">…

数据列表DataList模板之实例

1&#xff0c;数据列表DataList与重复列表Repeator很类似&#xff0c;但是DataList应用更广泛&#xff0c;因为他可以选择和修改数据项的内容。 DataList的数据显示和布局与Repeator控件一样都是通过“模板”控制的。 &#xff08;注&#xff1a;模板至少要定义一个“数据项模…

DataList详细用法

DataList控件与Repeater控件一样由模板驱动,与Repeater控件不同的是: DataList控件默认输出是一个HTML表格.DataList在输出时已经在相应的模板上套上了表格标签,而Repeater则是模板是什么样,输出就是什么样. 1. DataList显示数据 例1:使用DataList显示数据 Code <as…

DataList 用法详解

<% Page Language"C#" AutoEventWireup"true" CodeBehind"DataList.aspx.cs" Inherits"FileUpload自动上传文件.DataList" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w…

datalist标签使用

jsp使用datalist标签写可查询可输入下拉框样式 jsp使用datalist标签写可查询可输入下拉框样式。需求用法 jsp使用datalist标签写可查询可输入下拉框样式。 需求 jsp页面实现可选择,可查询,可输入的下拉选择框, 一段废话 本来想用select看看有什么属性可以实现,但基本上接触的…

DataList内容详解

DataList是另一种显示数据控件&#xff0c;它与GridView不同的是&#xff0c;它全部使用模板进行设计&#xff0c;并且DataList的模板是对整行设置&#xff0c;而不是像GridView那样只对某一列进行模板设计。 正是由于它使用模板进行设计&#xff0c;所以它的灵活性比GridView更…

DataList控件详细用法(一)

使用DataList控件 本章内容&#xff1a; 1、理解事件冒泡 2、使用模板 3、在DataList中显示数据 4、在DataList中创建多列 5、捕获DataList控件中产生的事件 6、选择DataList中的项 7、使用DataList控件中的DataKeys集合 8、编辑DataList中的项 本章介绍在ASP.NET框架中功能…

(13)<datalist> 标签

一、<datalist>标签的作用 <datalist> 标签规定了<input> 元素可能的选项列表。<datalist>元素包含了一组<option>元素&#xff0c;这些元素表示预定义可选值&#xff0c;在<input>元素输入过程中&#xff0c;会自动响应<option>元…

Hibernate缓存的evict、clear和flush方法

evict()、clear()和flush()方法是Hibernate缓存的3种基本操作方法&#xff0c;本文主要介绍这3种方法的使用方式和具体区别。 Company表&#xff1a; Company实体类&#xff1a; import java.util.Set;public class Company {private int companyId;private String companyName…

注册中心日志输出_Running the evict task with compensationTime 0ms_频繁输出这句_SpringCloud工作笔记161

可以在:application.properties 中配置一下不停的打印日志,太烦人了.##Running the evict task with compensationTime 0ms不停的输出这个太烦人了可以关闭 logging.level.com.netflixwarn技术交流QQ群【JAVA,C,Python,.NET,BigData,AI】&#xff1a;170933152 开通了个人技术微…

SpringCloud Eureka注册中心日志输出问题:Running the evict task with compensationTime 0ms

动Eureka注册中心后&#xff0c;控制台一直输出 — [a-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry : Running the evict task with compensationTime 0ms 这段日志&#xff0c;间隔时间与你的配置有关。强迫症看着很烦&#xff0c;那么在开发过程中如何关闭这条日…

HashMap中的putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict)解读

在面试中我们会经常遇到关于HashMap的问题&#xff0c;这里我写了我对HashMap里面一个挺重要的方法 putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict)的理解&#xff0c;下面就是我对这个方法的理解。 其实putVal(int hash, K key, V value, boolean o…

org.hibernate.Session.evict(Object object)方法的使用

在一个实体A、B的关联关系中&#xff0c;如下图&#xff1a; B外键关联A&#xff0c;关联字段A_id A中保存有B的集合blist 在A的实体属性blist&#xff0c;使用懒加载注解&#xff0c;如下: OneToMany(targetEntityB.class, cascade CascadeType.ALL, fetch FetchType.LAZY)…

mysql evict_Hibernate的flush()和evict()

/** * 测试uuid主键生成策略 */ public void testSave1() { Session session null; Transaction tx null; try { session HibernateUtils.getSession(); tx session.beginTransaction(); User1 user new User1(); user.setName("李四"); user.setPassword("…