`

ASP.NET中DataList控件模板属性说明及各功能实现效果介绍

 
阅读更多
在用ASP.NET做网站开发过程中,DataList这个控件必不可少会用到一个,下面介绍下:
DataList控件可用于创建模板化的列表数据,可以显示诸如一行中有多列的内容,可用于任何重复结构中的数据,如表格。
1、DataList控件的模板
AlternatingItemTemplate为每一个间隔项提供内容和布局。如果没有定义,在DataList中将为每一项使用ItemTemplate;
EditItemTemplate为当前正在编辑的项提供内容和布局。如果没有定义,在DataList中将为正在编辑的项使用ItemTemplate;
FooterTemplate为页脚提供内容和布局,如果没有定义,DataList将不会有页脚;
HeaderTemplate为标题提供内容和布局,如果没有定义,DataList将不会有标题行;
ItemTemplate必须定义,每一项的内容和布局的默认定义;
SelectedItemTemplate为当前选中的行提供内容和布局,如果没有定义,ItemTemplate将被使用;
SeparatorTemplate为项与项之间的分隔符提供内容和布局,如果没有定义,将不会使用分隔符。
2、DataList控件的常用属性和事件
Caption作为HTML caption元素显示的文本;
CellPadding单元格内容和边框之间的像素数;
CellSpacing单元格之间的像素数;
DataKeyField指定数据源中的键字段;
DataKeys每条记录的键值的集合;
DataMember设定多成员数据源中的数据成员;
DataSource为控件设置数据源;
EditItemIndex编辑的行,从零开始的行索引。如果没有项被编辑或者清除对某项的选择,设置值为-1;
Items控件中的所有项的集合;
RepeatColumns设置显示的列数;
RepeatDirection如果为Horizontal,项是从左到右,然后从上到下显示,如果是Vertical,项是从上到下,然后从左到右显示的。默认值为Vertical;
SelectedIndex当前选中的项的索引,从0开始,如果没有选中任何项,或者清除对某项的选择,将值设置为-1;
SelectedItem返回当前选中的项;
SelectedValue返回当前的选中项;
ShowFooter是否显示页脚,默认值为True,仅当FooterTemplate不为null时有效;
ShowHeader是否显示标题行,默认值为true,仅当HeaderTemplate不为null时有效;

DataList控件的常用事件
DataBinding当控件绑定到数据源时触发(继承自Control);
DeleteCommand当单击“Delete”按钮时触发;
EditCommand当单击“Edit”按钮时触发;
Init当控初始化时触发( 继承自Control);
ItemCommand当单击控件中的一个按钮时触发;
ItemCreated当控件中的所有行创建完毕后触发;
ItemDataBound当绑定数据时触发;
PreRender在控件呈现在页面上之前触发(继承自Control);
UpdateCommand当单击“Update”按钮时触发。
3、使用方法

首先,创建一个页面,把DataList控件拖到表单中。
<asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Title") %>' />

4、实现DataList控件的编辑功能
DataList控件没有内置编辑等功能,如果要实现编辑,我们需要自己编写代码控制,为了实现编辑功能,我们要在页面中使用编辑模板。
首先,设置编辑按钮的属性,可以设置“编辑”按钮的“CommandName”属性设置为“edit”,然后就可以DataList控件的EditCommand事件。双击EditCommand事件,在生成的事件代码中编写代码如下:
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
    {
        DataList1.EditItemIndex = e.Item.ItemIndex;
        DataBind();
    }
修改和取消的思路与编辑按钮的思路完全一致:分别为修改和取消的按钮对应的CommandName属性设置为:update和Cancel,然后编写UpdateCommand事件和CancelCommand事件的对应的事件代码。
取消的操作代码:
protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
    {
        DataList1.EditItemIndex = -1;
        DataBind();
    }
更新的操作代码:
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
    {
        //从选中记录中获取各更新参数的值
        SqlDataSource1.UpdateParameters["ID"].DefaultValue = ((TextBox)e.Item.FindControl("TextBox1")).Text;
        SqlDataSource1.UpdateParameters["Title"].DefaultValue = ((TextBox)e.Item.FindControl("TextBox2")).Text;
        SqlDataSource1.UpdateParameters["Price"].DefaultValue = ((TextBox)e.Item.FindControl("TextBox3")).Text;
        SqlDataSource1.UpdateParameters["Images"].DefaultValue = ((TextBox)e.Item.FindControl("TextBox4")).Text;
        //提交更新
        SqlDataSource1.Update();
        //设置到浏览状态
        DataList1.EditItemIndex = -1;
        //重新绑定
        DataBind();
    }

删除确定的代码
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            LinkButton lnkDelete = (LinkButton)e.Item.FindControl("lnkDelete"); //找到删除的按钮
            lnkDelete.Attributes.Add("onclick","return window.confirm('你确认要删除吗?')");//给按钮增加单击事件
        }
    }
5、DataList控件的分页
DataList控件没有内置分页和排序的功能,需要编写代码手工实现。
分页一般需要以下条件:
(1)、每页显示记录数(PageSize)
(2)、总记录数(Count)
(3)、总页数
(4)、当前页
基于PagedDataSource类的分页,常见属性:
CurrentPageIndex当前页;
PageCount总页数;
Count总记录数;
PageSize每页记录数;
DataSource 数据源;
AllowPaging控件是否实现自动分页功能。
只要将数据源和当前页数赋值给PagedDataSource类的实例对象,其它属性(总记录数和总页数)可以自动计算得出。
编写绑定的方法如下:
private void Databind()
    {
        PagedDataSource pds = new PagedDataSource();
        pds.DataSource = Product.GetProducts();  //获得记录集的方法
        pds.AllowPaging = true;  //允许分页
        pds.PageSize = 4;      //页大小
        pds.CurrentPageIndex = Page;  //当前页
        Label1.Text = "第" + (pds.CurrentPageIndex + 1).ToString() + "页共" + pds.PageCount.ToString() + "页";
        DataList1.DataSource = pds;
        DataList1.DataBind();
    }
分享到:
评论

相关推荐

    在ASP.NET中使用DataList控件.rar

    在ASP.NET web应用程序开发中,DataList控件是一种强大的数据绑定控件,它允许开发者以灵活的方式展示数据,如网格视图、列表或自定义布局。这个压缩包“在ASP.NET中使用DataList控件.rar”很可能是包含了一系列教程...

    ASP.NET中DataList控件的嵌套(实例)

    在ASP.NET中,DataList可以通过DataSource属性绑定到任何实现了 IEnumerable 接口的数据源,然后通过ItemTemplate、 AlternatingItemTemplate 和 FooterTemplate等模板定义数据的显示样式。 嵌套DataList的概念是,...

    asp.net中的Datalist控件

    ASP.NET中的DataList控件是一种灵活且功能丰富的服务器端控件,它允许开发人员以网格或自定义布局显示数据集合。这个控件非常适合那些需要在页面上以非标准方式呈现数据的情况,比如需要自定义模板或者对每个项目...

    ASP.NET中DataList的使用

    ASP.NET中的DataList控件是Web表单设计中一个非常重要的组件,它允许开发者以灵活的方式展示数据,比如网格布局、列表布局等。这个控件主要用于显示数据集合,如数据库查询结果,它提供了多种自定义样式和交互效果的...

    asp.netasp.net的控件Datalist

    总结来说,ASP.NET的DataList控件提供了丰富的功能,包括分页、数据绑定以及自定义的显示模板。通过合理的配置和编程,我们可以利用DataList轻松地处理各种数据展示需求,同时提供友好的用户交互,如复选框选择。在...

    asp网页使用datalist控件代码

    总结来说,`asp网页使用datalist控件代码`涉及到的关键知识点包括ASP.NET Web Forms、`DataList`控件的使用、数据绑定、模板设计、事件处理以及在列表中添加链接。通过熟练掌握这些,你可以构建出功能丰富的数据展示...

    Asp.net中的DataList应用

    在ASP.NET中,DataList控件是一个非常强大的数据绑定控件,它允许开发人员以灵活的方式展示数据。在这个实例中,我们将深入探讨如何使用DataList来显示商品信息,特别是通过`ItemTemplate`和`SelectedItemTemplate`...

    《ASP.NET》DataList数据绑定源码及数据库文件

    《ASP.NET》DataList数据绑定源码及数据库文件是一份非常实用的学习资源,它涵盖了ASP.NET框架中的DataList控件的使用,以及如何与数据库进行交互。DataList控件是ASP.NET Web Forms中的一种数据绑定控件,它可以...

    asp.net 数据绑定控件

    ASP.NET 数据绑定控件是Web开发中用于展示和操作数据的核心组件,它们简化了与数据库或其他数据源交互的过程。在ASP.NET框架中,数据绑定提供了一种声明式的方式来将控件(如GridViews、ListViews、DataLists等)与...

    运用ASP.NET的数据模板控件开发数据报表

    在ASP.NET中,数据模板可以应用于多种控件,如GridView、ListView和DataList等,它们为数据呈现提供了高度的灵活性和自定义能力。例如,GridView控件是常用的表格展示控件,适合显示结构化的数据;ListView控件则...

    DataList控件与AspNetPager分页控件三层实现

    在ASP.NET开发中,DataList控件和AspNetPager分页控件是常见的数据展示和页面导航工具。本文将深入探讨这两个控件的三层架构实现,旨在帮助开发者更好地理解和应用它们。 首先,DataList控件是ASP.NET Web Forms中...

    ASP.NET中DataGrid控件的使用技巧

    ASP.NET中的DataGrid控件是Web开发中常用的数据展示组件,尤其在处理表格数据时,它的强大功能使得数据呈现和操作变得简单易行。本文将深入探讨如何利用DataGrid控件实现数据排序、自动编号、生成合计项以及将数据...

    ASP.NET服务器控件开发技术与实例

    ASP.NET服务器控件是.NET Framework框架中的核心组件之一,它们为Web应用程序的用户界面提供丰富的交互性和功能。在ASP.NET中,服务器控件是运行在服务器端的代码,负责处理用户的输入、呈现HTML到浏览器,并在需要...

    DataList控件属性大全

    DataList控件是ASP.NET中一种非常有用的控件,它允许开发者以表格或者流式布局显示数据源中的信息。在本篇文章中,我们将详细探讨DataList控件的主要属性及其功能。 1. **AlternatingItemStyle** 和 **...

    asp.net常用Web服务器控件

    实例 DataList控件模板中使用LinkButton查看详细信息 4.4 下拉列表框的应用 实例 间接改变DropDownList当前选项 实例 实现多个DropDownList控件的联动 实例 动态添加、删除DropDownList控件选项 4.5 单选按钮的应用 ...

    ASP.NET 控件的使用

    13.2.3 在DataList控件中使用模板 433 13.2.4 使用DataList控件选择数据 434 13.2.5 使用DataList控件编辑数据 437 13.2.6 格式化DataList控件 440 13.3 小结 442 第14章 使用ListView和DataPager控件 443 14.1 ...

    在ASP.NET中使用列表控件.rar

    在ASP.NET中,列表控件是一类非常重要的组件,它们为开发者提供了展示和管理数据集的强大功能。这些控件能够以各种形式呈现数据,如表格、列表或自定义布局,适用于构建用户界面,如产品目录、菜单选项或者数据表。...

    asp.net datalist 数据库绑定与分页

    ASP.NET中的DataList控件是Web Forms中一种强大的数据展示工具,它允许开发者灵活地呈现数据集合,并且支持多种布局和交互方式。本教程将深入探讨如何在ASP.NET中使用DataList进行数据库绑定以及实现分页功能。 ...

    ASP.NET14ADO.NET控件.rar

    1. **GridView控件**:GridView是最常用的ASP.NET数据展示控件之一,可以显示来自数据源的表格格式数据,并支持排序、分页和编辑功能。通过简单的配置,开发者可以轻松地实现数据的添加、删除和更新。 2. **...

Global site tag (gtag.js) - Google Analytics