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

Gamila ·
更新时间:2024-11-10
· 805 次阅读

文章目录1. 数据绑定概述2. 简单数据绑定2.1. 属性绑定2.2. 表达式绑定2.3. 集合绑定2.4. 方法绑定3. 数据控件绑定3.1. ListControl 控件3.2. GridView 控件3.2.2. 使用GridView控件绑定数据源3.2.3. 自定义GridView控件的列字段名3.2.4. 使用GridView控件分页显示数据3.2.5. 选中、编辑和删除GridView数据项3.3. DataList 控件3.3.1. DataList 模板3.3.2. 分页显示DataList控件中的数据3.4. ListView控件3.4.1. ListView控件概述3.4.2. ListView控件的模板3.4.3. 使用ListView控件对数据进行显示、分页和排序 1. 数据绑定概述

数据绑定指的是从数据源获取数据,或者向数据源写入数据。主要有两种形式:简单数据绑定数据控件绑定

其中简单数据绑定分为属性绑定、表达式绑定、集合绑定和方法绑定;数据控件绑定分为ListControl 控件、GridView 控件、DataList 控件和ListView控件

2. 简单数据绑定 2.1. 属性绑定

基于属性的数据绑定所涉及的属性必须要包含Get访问器,它的基本语法为:

如果在ASP页面中对属性进行了绑定,那么需要调用Page类的DataBind方法才能执行绑定操作,例如下例:

// .aspx文件
// .aspx.cs文件 // BookName属性 public string BookName { get { return "ASP.NET程序设计"; } } // BookPrice属性 public string BookPrice { get { return "49"; } } protected void Page_Load(object sender, EventArgs e){ // 调用DataBind()方法执行绑定 Page.DataBind(); }

执行结果如下:
在这里插入图片描述

2.2. 表达式绑定

表达式绑定的语法与属性绑定一致,它可以在属性绑定的基础上通过表达式对数据进行处理,它的语法如下:

例如在属性绑定的基础上,要查询10本书的总价格,则代码如下:

// .aspx文件
// .aspx.cs文件 // BookName属性 public string BookName { get { return "ASP.NET程序设计"; } } // BookPrice属性 public string BookPrice { get { return "49"; } } protected void Page_Load(object sender, EventArgs e){ // 调用DataBind()方法执行绑定 Page.DataBind(); }

执行结果如下所示
在这里插入图片描述

2.3. 集合绑定

有一些服务器控件是多记录控件,如DropDownList控件, 这类控件即可使用集合作为数据源对其进行绑定。通常情况下,集合数据源主要包括ArrayList、Hashtabel、 DataView、 DataReader 等。

例如下面代码,实现了对DropDownList控件进行数据绑定:

// .aspx文件
protected void Page_Load(object sender, EventArgs e){ // 构建数据源 ArrayList arrayList = new ArrayList(); arrayList.Add("iisexpress"); arrayList.Add("assembly"); arrayList.Add("Windows"); // 指定数据源 DropDownList1.DataSource = arrayList; // 数据绑定 DropDownList1.DataBind(); }

执行结果如下:
在这里插入图片描述

2.4. 方法绑定

方法的绑定与属性绑定的语法是一致的,只不过把绑定对象更替为了方法,例如下面的代码:

// .aspx文件
// .aspx.cs文件 public string PriceTest(string _price) { return _price; } protected void Page_Load(object sender, EventArgs e){ // 调用DataBind()方法执行绑定 Page.DataBind(); }

执行结果如下:
在这里插入图片描述

3. 数据控件绑定 3.1. ListControl 控件

ListControl控件用来定义所有列表类型控件的所有属性方法和事件,是一个抽象基类,它能够控制的控件主要包括:DropDownList控件、ListBox控件、CheckBoxList控件、RadioButtonList控件。

ListControl控件能够指定能够用来填充列表控件的数据源,其中与数据绑定修改的属性有:

DataSource属性,用来设置数据源 DataTextField属性,用来指定提供文本内容的数据源字段 DataValueField属性,用来指定提供值的数据源字段

例如下面代码,将图书列表以DropDownList控件进行显示,当用户选择了DropDownList控件中的某个值后,页面会进行相应的信息更新。

// .aspx文件
// .aspx.cs文件 protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { SqlConnection sqlConnection = new SqlConnection("Server=DEITIVOD;Database=db_LibraryMS;User Id=sa;pwd=admin"); SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select book_code, book_name from tb_bookinfo;", sqlConnection); // 将查询到的数据放入一个DataSet DataSet dataSet = new DataSet(); sqlDataAdapter.Fill(dataSet); // 对DropDownList执行指定数据源和数据绑定 DropDownList1.DataSource = dataSet; DropDownList1.DataTextField = "book_name"; // 指定要显示的字段 DropDownList1.DataValueField = "book_code"; // 指定要绑定的主键值 DropDownList1.DataBind(); } } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e){ Label3.Text = DropDownList1.SelectedValue; Label5.Text = DropDownList1.SelectedItem.Text; }

执行效果如下:
数据库中的tb_bookinfo数据表的数据如下所示:
在这里插入图片描述

ASP页面中显示的数据:
在这里插入图片描述

3.2. GridView 控件

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

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

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

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

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

// .aspx文件
// .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数据表的数据如下所示:
在这里插入图片描述

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

// .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(); // 执行数据绑定 }

效果如下,左边是直接指定数据源时的表格,右边是对列自定义的表格:
原创文章 231获赞 1114访问量 147万+ 关注 他的留言板 展开阅读全文
作者:白水偷偷画工图



net ASP.NET 数据绑定 数据 ASP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号