`
isiqi
  • 浏览: 16045123 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ASP.NET - 使用数据源控件绑定到数据

阅读更多

数据源控件大大扩展了诸如 GridViewFormView DetailsView 控件等数据绑定控件的功能。通过将数据源控件与数据绑定控件一起使用,无需编写代码或只需编写少量代码即可对不同数据源中的数据进行检索、修改、分页、排序和筛选。

一、使用 DataSourceID 属性进行绑定

您可以将数据绑定控件绑定到数据源控件(例如 LinqDataSourceObjectDataSource SqlDataSource 控件),这样便可以在数据绑定控件中使用数据。数据源控件连接到数据库、实体类或中间层对象等数据源,然后检索或更新数据。之后,数据绑定控件即可使用此数据。要执行绑定,应将数据绑定控件的 DataSourceID 属性设置为指向数据源控件。当数据绑定控件绑定到数据源控件时,无需编写代码或者只需编写少量额外代码即可执行数据操作。数据绑定控件可以自动利用数据源控件提供的数据服务。

说明: 在早期版本的 ASP.NET 中,通过使用 DataSource 属性将数据绑定控件绑定到数据。这要求您编写代码来处理显示、分页、排序、编辑和删除数据等操作。虽然可以使用 DataSource 属性(并使用现有代码)将控件绑定到数据,但也可以改用 DataSourceID 属性执行数据绑定。通常,使用 DataSourceID 属性可以比使用 DataSource 属性提供更多自动功能。

下面的示例演示绑定到 LinqDataSource 控件以显示数据库中的数据的 FormView 控件。要使示例工作,必须创建用于表示数据库和表的类。通过使用对象关系设计器可以创建这些类。

<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html >

<head runat="server">

<title>FormView Example</title>

</head>

<body>

<form id="form1" runat="server">

<h3>FormView Example</h3>

<table cellspacing="10">

<tr>

<td valign="top">

<asp:FormView ID="ProductsFormView"

DataSourceID="LinqDataSource1"

AllowPaging="true"

runat="server">

<HeaderStyle forecolor="white" backcolor="Blue" />

<ItemTemplate>

<table>

<tr>

<td align="right"><b>Product ID:</b></td>

<td><asp:Label id="ProductIDLabel" runat="server" Text='<%# Eval("ProductID") %>' /></td>

</tr>

<tr>

<td align="right"><b>Product Name:</b></td>

<td><asp:Label id="ProductNameLabel" runat="server" Text='<%# Eval("ProductName") %>' /></td>

</tr>

<tr>

<td align="right"><b>Category ID:</b></td>

<td><asp:Label id="CategoryIDLabel" runat="server" Text='<%# Eval("CategoryID") %>' /></td>

</tr>

<tr>

<td align="right"><b>Quantity Per Unit:</b></td>

<td><asp:Label id="QuantityPerUnitLabel" runat="server" Text='<%# Eval("QuantityPerUnit") %>' /></td>

</tr>

<tr>

<td align="right"><b>Unit Price:</b></td>

<td><asp:Label id="UnitPriceLabel" runat="server" Text='<%# Eval("UnitPrice") %>' /></td>

</tr>

</table>

</ItemTemplate>

<PagerTemplate>

<table>

<tr>

<td><asp:LinkButton ID="FirstButton" CommandName="Page" CommandArgument="First" Text="<<" RunAt="server"/></td>

<td><asp:LinkButton ID="PrevButton" CommandName="Page" CommandArgument="Prev" Text="<" RunAt="server"/></td>

<td><asp:LinkButton ID="NextButton" CommandName="Page" CommandArgument="Next" Text=">" RunAt="server"/></td>

<td><asp:LinkButton ID="LastButton" CommandName="Page" CommandArgument="Last" Text=">>" RunAt="server"/></td>

</tr>

</table>

</PagerTemplate>

</asp:FormView>

</td>

</tr>

</table>

<asp:LinqDataSource

ContextTypeName="NorthwindDataContext"

TableName="Products"

ID="LinqDataSource1"

runat="server">

</asp:LinqDataSource>

</form>

</body>

</html>

二、选择数据

数据源控件检索数据的方式由控件本身决定。ObjectDataSource 控件通过调用 SelectMethod 属性中指定的方法来读取数据。下面的示例演示一个 ObjectDataSource 控件,该控件使用 EmployeeLogic 类的 GetAllEmployees 方法返回数据。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>

<%@ Page language="c#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html >

<head>

<title>ObjectDataSource - C# Example</title>

</head>

<body>

<form id="Form1" method="post" runat="server">

<asp:gridview

id="GridView1"

runat="server"

datasourceid="ObjectDataSource1" />

<asp:objectdatasource

id="ObjectDataSource1"

runat="server"

selectmethod="GetAllEmployees"

typename="Samples.AspNet.CS.EmployeeLogic" />

</form>

</body>

</html>

SqlDataSource AccessDataSource 控件通过运行 SelectCommand 属性中指定的 SQL 查询来选择数据。下面的示例演示一个 SqlDataSource 控件,该控件从 Northwind 示例数据库的 Employees 表中返回数据。

<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html >

<head runat="server">

<title>ASP.NET Example</title>

</head>

<body>

<form id="form1" runat="server">

<asp:SqlDataSource

id="SqlDataSource1"

runat="server"

DataSourceMode="DataReader"

ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"

SelectCommand="SELECT LastName FROM Employees">

</asp:SqlDataSource>

<asp:ListBox

id="ListBox1"

runat="server"

DataTextField="LastName"

DataSourceID="SqlDataSource1">

</asp:ListBox>

</form>

</body>

</html>

使用 LinqDataSource 控件时,如果不设置其 Select 属性,该控件将返回数据类中所有属性的数据。通过设置 Select 属性,可以指定属性的子集或计算新值。下面的示例演示一个 LinqDataSource 控件,该控件返回包含其他属性的数据源中的三个属性。

<asp:LinqDataSource

ContextTypeName="ExampleDataContext"

TableName="Products"

Select="new(Name, Category, Price)"

ID="LinqDataSource1"

runat="server">

</asp:LinqDataSource>

<asp:GridView

DataSourceID="LinqDataSource1"

ID="GridView1"

runat="server">

</asp:GridView>

XmlDataSource 不允许从源 XML 数据中选择特定元素。不过,您可以使用 XPath 属性指定筛选器。

三、修改数据

可以配置 LinqDataSourceObjectDataSource SqlDataSource 控件,以便用户可以修改数据。

分享到:
评论

相关推荐

    asp.net数据源控件与数据库绑定控件

    asp.net数据源控件与数据库绑定控件

    ASP.NET 2.0 的数据源、数据绑定控件概述与区别

    ASP.NET 2.0 的数据源、数据绑定控件概述与区别

    第5章 ASP.NET数据库编程--数据源控件和数据绑定控件.doc

    第5章 ASP.NET数据库编程--数据源控件和数据绑定控件

    一个基于C#+ASP.NET的通用数据翻页控件源码(支持各种数据源绑定模式)

    一个基于C#+ASP.NET的通用数据翻页控件源码(支持各种数据源绑定模式)。

    ActiveReports for .NET--灵活强大的.Net 报表制作控件

    使用.NET 版的ActiveReports,你可以采用Visual Studio.NET 编辑器,用C#或Visual Basic .NET 语言编写报表代码,其中包含了ASP.NET 服务器控件,帮助您安装web客户端浏览器以及WinForms浏览器控件,以提供单页浏览...

    ASP.NET 控件的使用

    14.2.2 使用DataPager控件进行数据源分页 459 14.3 小结 461 第四部分 创建组件 第15章 创建组件 464 15.1 创建基本组件 464 15.1.1 组件和动态编译 466 15.1.2 App_Code文件夹中不同语言的组件 466 15.1.3 声明...

    ASP.NET基础教程

    本书结合实例,全面系统地介绍了ASP.NET 2.0应用开发技术,包括ASP.NET 2.0服务器控件,ASP.NET 2.0数据源控件和新的数据绑定方法,验证控件,样式、外观和主题,母版页,站点导航和导航控件,ASP.NET 2.0的身份验证...

    ASP.Net 2.0 基础(经典)

    此外,还介绍了ASP.NET中的常用对象、数据访问技术、数据源控件、数据源绑定控件等ADO.NET技术;最后综合了前几章的知识,提供了一个登录系统的实例供读者学习和借鉴。 《ASP.Net 2.0 基础》适合于 ASP.NET 开发的...

    ASP.NET学习大全

    ASP.NET导出数据到Excel.txt ASP.NET对IIS中的虚拟目录进行操作.txt asp.net里导出excel表方法汇总.txt ASP.NET文件上传程序的源代码.txt Asp.Net中文本换行.txt ASPNET中实现在线用户检测(使用后台守护线程).txt ...

    Asp.net图表控件

    Chartlet是一个免费的ASP.NET使用的图表控件,它让你可以用最少的代码创造出非常漂亮的统计图表,我们的宗旨是让你的使用越简单越好,现在你只需要设置一个属性,绑定一个数据源 就可以轻松创建一个非常漂亮的图表!...

    ASP.Net皮肤换肤控件

    如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、...

    ASP.NET4权威指南源代码下载

    第二部分详尽地讲解了ASP.NET访问的所有细节,包括数据管理、数据控件绑定与操作、GridView控件、LINQ查询、LINQ与ADO.NET和XML,以及ADO.NET实体框架等;第三部分深入浅出地讲解了开发一个Web站点必须掌握的各种...

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 ...

    asp.net常用Web服务器控件

    4.7 控件连接数据源 实例 通过向导配置AccessDataSource 实例 通过向导配置SqlDataSource 实例 通过向导配置XmlDataSource 4.8 GridView控件的应用 实例 数据绑定并实现分页功能 实例 选中、编辑、取消、删除数据项 ...

    asp.net学习大全(超全面的资料整合)

    ASP.NET导出数据到Excel.txt ASP.NET对IIS中的虚拟目录进行操作.txt asp.net里导出excel表方法汇总.txt ASP.NET文件上传程序的源代码.txt Asp.Net中文本换行.txt ASPNET中实现在线用户检测(使用后台守护线程).txt ...

    ASP.NET.4揭秘

    22.5 创建分层的sql数据源控件830 22.6 小结832 第23章 使用站点地图834 23.1 使用sitemapdatasource控件834 23.2 使用sitemap类840 23.3 高级站点地图配置844 23.3.1 使用安全修整844 23.3.2 合并多个站点地图848 ...

    ASP.NET数据绑定之GridView控件

    主要为大家介绍了ASP.NET数据绑定中的GridView控件,GridView控件的功能是在web页面中显示数据源中的数据,对GridView控件感兴趣的小伙伴们可以参考一下

    ASP.net从入门到精通 光盘源码

    全书共分29章,包括ASP.NET 2.0开发入门、C#语言基础、ASP.NET的内置对象、ASP.NET 2.0 Web常用控件、数据验证技术、母版页、主题、数据绑定、使用ADO.NET操作数据库、数据控件、站点导航控件、Web用户常用控件、ASP...

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术

    13.3.2 asp.net对数据源控件的支持 508 13.4 数据源控件示例应用 515 13.4.1 控件实现功能 515 13.4.2 应用示例 516 13.5 本章总结 522 第14章 扩展控件方案——gridview 523 14.1 扩展控件概述 523 14.2 ...

    ASP.Net 2.0 基础(经典).rar

    此外,还介绍了ASP.NET中的常用对象、数据访问技术、数据源控件、数据源绑定控件等ADO.NET技术;最后综合了前几章的知识,提供了一个登录系统的实例供读者学习和借鉴。 《ASP.Net 2.0 基础》适合于 ASP.NET 开发的...

Global site tag (gtag.js) - Google Analytics