各种数据绑定控件作用与区别

来源:互联网 发布:矩阵不为0什么意思 编辑:程序博客网 时间:2024/04/28 13:55

任何实现IEnumerable接口的对象集都可以作为DataSource的属性值。

GridView-在HTML表格中显示一组数据记录.例如使用GridView控件显示数据库表的记录,可实现显示、排序、分页、选择和编辑数据。

 

DataList-在HTML表格中显示一组数据记录,与GridView不同的是,它在一行中能显示多条记录。

 

Repeater-使用模板显示一组数据记录。与GridView和DataList控件不同的是Repeater控件不会自动呈现为一个HTML表格。 Repeater 控件的数据源。DataSource 可以是任何 System.Collections.IEnumerable 对象,如用于访问数据库的 System.Data.DataViewSystem.Collections.ArrayListSystem.Collections.Hashtable、数组或 IListSource 对象

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Collections.Generic" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
    void Page_Load()
    {
        if (!Page.IsPostBack)
        {
            Repeater1.DataSource = GetPhotos();
            Repeater1.DataBind();
        }  
    }
    public List<String> GetPhotos()
    {
        List<string> photos = new List<string>();
        string photoPath = MapPath("~/Photos");
        string[] files = Directory.GetFiles(photoPath);
        foreach (string photo in files)
            photos.Add("~/Photos/" + Path.GetFileName(photo));
        return photos;
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Show Photos</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <asp:Repeater
        id="Repeater1"
        runat="server">
        <ItemTemplate>
            <asp:Image
                id="Image1"
                Width="200px"
                ImageUrl='<%# Container.DataItem %>'
                Runat="server" />
        </ItemTemplate>
    </asp:Repeater>   

    </div>
    </form>
</body>
</html>

 

ListView-使用模板显示一组数据记录,与Repeater不同的是ListView控件支持排序、分页、和编辑数据。

 

DetailView-在HTML表格中显示一个数据项。例如使用DetailView显示数据表中的单条记录。此控件能够显示、分页、编辑或者添加数据。

 

FormView-使用模板来显示一个数据项。与DetailView不同的是这个控件可以使用模板来机型窗体布局。

原创粉丝点击