ASP.NET 数据绑定详解 代码+步骤(下)

简介: ASP.NET 数据绑定详解 代码+步骤

正文


3.2. GridView 控件


GridView控件可称之为数据表格控件,它以表格的形式显示数据源中的数据,每列表示一个字段,而每行表示一条 记录,可以将其理解为数据库技术中的视图。


3.2.2. 使用GridView控件绑定数据源


使用GridView控件绑定数据源主要用到

  1. DataSource属性,用来指定数据源
  2. DataBind方法,用来执行数据绑定

如下代码实现了将SQL Server数据库中的数据通过GridView控件显示到ASP页面中

// .aspx文件
<body>
    <form id="form1" runat="server">
        <div>
          <!-- GridView控件绑定数据源 -->
            <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#E9E7E2" />
                <SortedAscendingHeaderStyle BackColor="#506C8C" />
                <SortedDescendingCellStyle BackColor="#FFFDF8" />
                <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
            </asp:GridView>
        </div>
    </form>
</body>
// .aspx.cs文件
 protected void Page_Load(object sender, EventArgs e){
    SqlConnection sqlConnection = new SqlConnection("Server=DEITIVOD;Database=db_LibraryMS;User Id=sa;pwd=admin");
    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select * from leaveword;", sqlConnection);
    DataSet dataSet = new DataSet();
    sqlDataAdapter.Fill(dataSet);
    GridView1.DataSource = dataSet; // 指定数据集
    GridView1.DataBind(); // 执行数据绑定
}

数据库中leaveword数据表的数据如下所示:

12.png

执行效果如下,ASP页面中显示的数据:

13.png


3.2.3. 自定义GridView控件的列字段名


GridView中的数据列分为7种类型

数据列 说明
BoundFiled 最常用的数据列,用来显示文本
CheckBoxFiled 用来显示Boolean值
CommandFiled 用来显示执行选择、编辑和删除操作的命令按钮
ImageFiled 用来显示图片
HyperLinkFiled 用来将数据以超链接的形式显示出来
ButtonFiled 用来为GridView控件创建命令按钮,该按钮可以操作其所在行的数据
TemplateFiled 用来给用户提供自定义类型的数据列

在VS开发环境中按下面的步骤操作,以BoundFiled 为例将GridView中的字段名修改为中文显示:

14.png

如果只想显示我们自定义的列,可以将AutoGenerateColumns设置为False

15.png

上面两张图的内容也可以通过下面的代码实现:

// .aspx文件
<body>
    <form id="form1" runat="server">
        <div>
          <!-- GridView控件绑定数据源,并且自定义列 -->
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField DataField="title" HeaderText="图书编号" />
                    <asp:BoundField DataField="email" HeaderText="邮箱" />
                    <asp:BoundField DataField="context" HeaderText="内容" />
                </Columns>
            </asp:GridView>
        </div>
    </form>
</body>
// .aspx.cs文件
protected void Page_Load(object sender, EventArgs e){
    SqlConnection sqlConnection = new SqlConnection("Server=DEITIVOD;Database=db_LibraryMS;User Id=sa;pwd=admin");
    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select * from leaveword;", sqlConnection);
    DataSet dataSet = new DataSet();
    sqlDataAdapter.Fill(dataSet);
    GridView1.DataSource = dataSet; // 指定数据集
    GridView1.DataBind(); // 执行数据绑定
}

效果如下,左边是直接指定数据源时的表格,右边是对列自定义的表格:

16.png


3.2.4. 使用GridView控件分页显示数据


使用GridView控件分页显示数据主要用到了以下两个属性和一个事件:


AllowPaging属性,用来决定是否启用分页功能

PageSize属性,设置分页时每页显示几条记录,默认是12条

PageIndexChanging事件,用来响应用户的页面切换指令

下图的GridView属性说明了该GridView开启了分页功能,每页是展示3条记录

17.png

下面的代码,在开启分页功能的基础上重写了PageIndexChanging事件,实现了GridView的分页功能:

// .aspx文件
<body>
    <form id="form1" runat="server">
        <div>
          <!-- GridView控件绑定数据源,并且使用分页功能 -->
            <asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="3">
            </asp:GridView>
        </div>
    </form>
</body>
// .aspx.cs文件
protected void Page_Load(object sender, EventArgs e){
      SqlConnection sqlConnection = new SqlConnection("Server=DEITIVOD;Database=db_LibraryMS;User Id=sa;pwd=admin");
    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select * from leaveword;", sqlConnection);
    DataSet dataSet = new DataSet();
    sqlDataAdapter.Fill(dataSet);
    GridView1.DataSource = dataSet; // 指定数据集
    GridView1.DataBind(); // 执行数据绑定
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){
    // 设置当前页为新页
    GridView1.PageIndex = e.NewPageIndex;
    // 绑定新页数据
    GridView1.DataBind();
}

执行结果如下:

18.png


3.2.5. 选中、编辑和删除GridView数据项


19.png


3.3. DataList 控件


3.3.1. DataList 模板


DataList控件是一个常用的数据绑定控件,可以称之为迭代控件,该控件能够以某种设定好的模板格式循环显示多条数据,这种模板格式是可以根据需要进行自定义的,比较于GridView控件,虽然GridView控件功能非常强大,但它始终只能以表格的形式显示数据,而使用DataList控件则灵活性非常强,其本身就是一个富有弹性的控件。


DataList中一共有以下几种模板:

模板 说明
ItemTemplate 为项提供内容
AlternatingltemTemplate 为交替项提供内容,是ItemTemplate的扩展
SelectedltemTemplate 为当前选定项提供内容
EditltemTemplate 为当前编辑项提供内容
HeaderTemplate 为页眉提供内容
FooterTemplate 为页脚提供内容


3.3.2. 分页显示DataList控件中的数据


DataList本身不具有分页功能,为了实现分页功能,需要借助PagedDataSource类

20.png


3.4. ListView控件


3.4.1. ListView控件概述


ListView控件用于显示数据,它提供了编辑、删除、插入、分页与排序等功能,ListView大部分的属性方法和事件与GridView和DataList一致,可以理解为GridView控件与DataList控件的融合,它具有GridView控件编辑数据的功能,同时又具有DataList控件灵活布局的功能。


3.4.2. ListView控件的模板


ListView控件有非常多的模板,其中最常用的有六个

模板 说明
ItemTemplate 为项提供内容
GroupTemplate 为组提供内容,它包含一个占位符对象,可以由其他模板中的内容进行替换
SelectedltemTemplate 为当前选定项提供内容
EditltemTemplate 为当前编辑项提供内容
InsertltemTemplate 为插入项提供内容
EmptyDataTemplate 在数据源未返回数据时提供内容


3.4.3. 使用ListView控件对数据进行显示、分页和排序


使用ListView控件对数据进行分页需要用到标签,这是一个用于分页的控件。排序需要用到CommandName属性,令其值为sort,指定要进行排序操作,然后再指定CommandArgument属性,令其值为要排序的列。


使用ListView控件显示数据只需配置数据源即可,而无需写任何一行操作数据库的代码,效果如下:

21.png

相关文章
|
2月前
|
SQL 数据库连接 数据库
你不知道ADo.Net中操作数据库的步骤【超详细整理】
你不知道ADo.Net中操作数据库的步骤【超详细整理】
|
2月前
|
JSON IDE 前端开发
[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
|
8月前
|
网络协议 算法 Shell
来我们探究一下net/http 的代码流程
来我们探究一下net/http 的代码流程
|
1月前
|
XML 开发框架 .NET
【.NET Core】常见C#代码约定
【.NET Core】常见C#代码约定
23 5
|
26天前
|
开发框架 JavaScript 前端开发
详细解读ASP常用三十三种代码
详细解读ASP常用三十三种代码
10 0
|
26天前
|
开发框架 JavaScript 前端开发
详细解读ASP常用三十三种代码
详细解读ASP常用三十三种代码
11 0
|
2月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
56 0
|
2月前
云效静态代码检测可以检测.net吗?
云效静态代码检测可以检测.net吗?
38 1
|
2月前
|
并行计算 算法 调度
(学习笔记)U-net++代码解读
python: 3.10 U-net++结构图
229 0
|
2月前
|
SQL 数据库连接 数据库
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
167 0

相关实验场景

更多