ASP.NET 2.0中的DataSource系列控件

asp.net|控件

ASP.NET 2.0中,在其中的数据连接方面做了很大的改进,新加入的datasource系列控件,使得在数据库的连接方面更加容易,很多都可以通过向导式的设置来完成SQL语句的编写和数据库连接。ASP.NET 2.0中的DataSource系列控件总共有6种,分别是:

  Sqldatasource控件----用于连接sql数据库的数据源控件
  Accessdatasource控件----用于连接access数据库的数据源控件
  ObjectDataSource控件----用于连接自定义对象的数据源控件
  DataSetDataSource控件-----将XML文件做为dataset并进行相关处理的控件
  XmlDataSource控件-----该控件装载Xml文件,并绑定到datagrid、datalist等控件中
  SiteMapDataSource控件-----该控件装载一个预先定义好的站点布局文件,之后将其与treenode树形控件或Sitemappath控件绑定,以实现方便地制作站点的页面导航功能。

 
  本文中,将重点介绍ObjectDataSource控件,DataSetDataSource控件和XmlDataSource控件,而sqldatasource控件的介绍,请参考《使用ASP.NET 2.0中的GridView控件》,该文中介绍了sqldatasource控件的使用方法,而accessdatasource控件,则与sqldatasource 控件类似,只不过连接的数据库是access。

  ObjectDataSource控件

  该控件,将用户自己创建的对象绑定到数据控件中,比如绑定到datagrid,gridview。下面来看个例子,在visual studio 2005 beta 1中,创建新的站点,并添加一个新的类,名称叫Products:

Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.SqlClient

Public Class Products
Public Function getProducts() As DataSet
 Dim conn As New SqlConnection("Server=(local);Integrated Security=True;Database=Northwind;Persist
Security Info=True")
 Dim adapter As New SqlDataAdapter("SELECT [ProductID], [ProductName], [SupplierID], [CategoryID],
[QuantityPerUnit], [UnitPrice] FROM [Products]", conn)

 Dim ds As New DataSet
 adapter.Fill(ds, "Products")
 Return ds
End Function
End Class
  Product类包含了getproducts方法,该方法返回Northwind数据库中所有的产品,以dataset形式返回。使用objectdatasource 控件,可以将自定义的类绑定到数据控件中,而只需要将ojectdatasource 控件拖拉到设计窗体中,之后,点击'Configure Data Source…'链接,在弹出的窗体中(如下图),选择要绑定的类,此时选择Product类就可以了,


  在下一步中,选择要绑定哪一个类中的相关方法
 
  在下一步中,将可以选择执行什么样的SQL语句,比如select,update,insert,delete等操作,本文中只需要返回Product数据,所以选择select就可以了,之后点FINISH完成操作。

  接着,拖拉一个gridview控件到窗体中,将其绑定到刚才我们创建的objectdatasource 控件,并将Enable Paging, Enable Scripting, Enable Selection三个选择框打勾,如下图:


  之后运行程序,就可以看到结果。如果要对ojectdatasource 控件进行编辑的话,就要另外提供一个方法了,我们加入一个叫updateProducts的方法,如下:

Public Sub updateProducts(ByVal ProductID As Integer, ByVal ProductName As String, _
 ByVal SupplierID As Integer, ByVal CategoryID As Integer, _
 ByVal QuantityPerUnit As String, ByVal UnitPrice As Double)
 Dim conn As New SqlConnection("Server=(local);Integrated Security=True;Database=Northwind;Persist Security
Info=True")
 Dim adapter As New SqlDataAdapter("SELECT * FROM Products WHERE ProductID=" & ProductID, conn)
 Dim ds As New DataSet
 adapter.Fill(ds, "Products")
 With ds.Tables(0).Rows(0)
  .Item("ProductName") = ProductName
  .Item("SupplierID") = SupplierID
  .Item("CategoryID") = CategoryID
  .Item("QuantityPerUnit") = QuantityPerUnit
  .Item("UnitPrice") = UnitPrice
 End With
 Dim cb As New SqlCommandBuilder(adapter)
 adapter.Update(ds, "Products")
End Sub
  之后再绑定到objectdatasource控件,并选用其中的UPDATE选项卡中的updateProducts方法,并在绑定到gridview控件时,选择“Enable Editing option”,运行程序,则可以对记录进行编辑了

DataSetDataSource控件

  该控件允许将XML document或其他文件看作dataset进行处理,比如有一个XML文件如下,以BOOKS.XML文件命名:

<?xml version="1.0" standalone="yes"?>
<Books xmlns="http://tempuri.org/Books.xsd">
<Book>
<Title>ASP.NET 2.0: A Developer's Notebook (O'Reilly)
</Title>
<PubDate>December 2004</PubDate>
<Synopsis>To bring you up to speed with ASP.NET 2.0, this practical book offers nearly 50 hands-on projects.
.</Synopsis>
</Book>
<Book>
<Title>.NET Compact Framework Pocket Guide (O'Reilly)
</Title>
<PubDate>May 2004</PubDate>
<Synopsis>Looking to create applications for Pocket PC and Windows based Smartphones? </Synopsis>
</Book>
</Books>
  下面,将使用datasetdatasource控件,将XML文件绑定到GRIDVIEW中。将datasetdatasource控件拖拉到设计窗体,并选“Configure Data Source”,在数据源设置窗体中,选择books.xml作为数据源,再拖拉一个gridview控件,将其绑定到datasetdatasource控件中
 
  XmlDataSource控件
 
  该控件也允许将XML document或其他文件绑定到DATAGRID,GRIDVIEW中,但被绑定的XML文件的结构可以是不大规则的,不包含DATASET。XMLDATASOURCE控件还可以使用xpath,可以将XML文件绑定到TREEVIEW等其他控件中去。比如一个RSS的文件,其XML表示如下,保存为msdn.xml:

  

  拖拉一个XMLDATASOURCE控件,点'Configure Data Source…’链接,设置其数据源为msdn.xml,在xpath表达式中,设置为“rss/channel/item”,则只返回item结点下的内容,再拖拉一个datalist控件,将其数据源设置为xmldatasource。

  在Smart tag菜单中,选择“'Auto Format…”,并选择Slate scheme,再切换到代码窗口,增加如下的代码:

<asp:DataList ID="DataList1" Runat="server"
GridLines="Horizontal"
BorderWidth="1px" BackColor="White" CellPadding="3"
BorderStyle="None" BorderColor="#E7E7FF"
DataSourceID="XmlDataSource1">
<FooterStyle ForeColor="#4A3C8C"
BackColor="#B5C7DE"></FooterStyle>
<ItemTemplate>
<b><%#XPath("title")%></b><br />
<i><%#XPath("pubDate")%></i><br />
<%#XPath("description")%><br />
<a href='<%#XPath("link")%>'>Link</a><br />
<br />
</ItemTemplate>
<AlternatingItemStyle BackColor="#F7F7F7">
</AlternatingItemStyle>
<ItemStyle ForeColor="#4A3C8C"
BackColor="#E7E7FF">
</ItemStyle>
<SelectedItemStyle ForeColor="#F7F7F7"
Font-Bold="True"
BackColor="#738A9C"></SelectedItemStyle>
<HeaderTemplate>RSS Feeds</HeaderTemplate>
<HeaderStyle ForeColor="#F7F7F7"
Font-Bold="True"
BackColor="#4A3C8C"></HeaderStyle>
</asp:DataList>
  运行,就可以看到一个简单的RSS形式的阅读器了,如下图,十分方便。


  至于Sitemapdatasource控件,请参考《在ASP.NET 2.0中使用页面导航控件》一文

  总结:

  本文简单介绍了ASP.NET 2.0中十分强大的新增的datasource系列控件,有了这些控件,在与数据库和其他数据源的相关操作中,将十分方便,不用编写太多的代码,在正式版的ASP.NET 2.0中,估计会增加更多的功能。

时间: 2024-10-29 05:52:25

ASP.NET 2.0中的DataSource系列控件的相关文章

在ASP.NET 2.0中使用webpart系列控件

在现在的网站设计中,更强调的是用户的个性化设置,让用户可以自由的设 置符合自己喜好的页面成为网站开发人员的头号难题,不过现在看来这个难题微 软帮我们解决了.在asp.net 2.0中新增加了一系列webpart控件,可以让用户很 方便地对网页的各区域布局进行调整.在一些web应用程序中,如果用户想自定 义页面布局,比如一个新闻发布系统,想让左,中,右三栏的位置进行调换的话 ,就可以使用webpart控件. 下面,我们来看下asp.net 2.0中webpart系列控件的一些基本用法. 首先,在v

体验ASP.NET 2.0 中的数据访问控件

asp.net|访问|控件|数据 简介 数据访问一直是开发 Web 应用程序的一个关键问题.几乎每个商业应用程序都需要数据驱动的 Web 页面.由于数据访问如此普遍,开发人员不断地为简单的数据库任务重新生成复杂的代码就显得毫无意义了.开发人员需要从格式各异的不同数据源中快速访问数据.幸运的是,ASP.NET 2.0 中新增的数据访问控件和 ADO.NET 2.0 解决了这一问题. 对于传统的 ASP 和 ASP.NET 1.1 应用程序而言,开发人员不得不创建代码访问和更新数据库,将检索到的数据

抢先试用ASP.NET 2.0中的新型安全控件

asp.net|安全|控件 一. 引言 与ASP.NET 2.0一同上市的有几个新的安全控件-它们位于工具的Login选项卡中(见图1)-这些控件大大简化了Web开发人员的工作.通过使用这些新的安全控件,现在你可以执行例如用户登录.注册.口令改变等的任务:而且,为此做出的努力仅是拖放相应的控件到你的Web表单上去.在本文中,我将向你展示怎样使用这些新控件来实现用户认证. 首先,让我们探索一下LoginView.LoginStatus和LoginName三个控件的使用.首先,让我们使用Visual

在ASP.NET 2.0中使用页面导航控件

asp.net|控件|页面 几乎每个网站里,为了方便用户在网站中进行页面导航,都少不了使用页面导航控件.有了页面导航的功能,用户可以很方便地在一个复杂的网站中进行页面之间的跳转.在以往的WEB编程中,要写一个好的页面导航功能,并不是那么容易的,也要使用一些技巧.而在asp.net 2.0中,为了方便进行页面导航,新增了一个叫做页面导航控件sitemapdatasource,其中还可以绑定到不同的其他页面控件,比如treeview,menu等,十分灵活,使到能很方便地实现页面导航的不同形式,而且还

style-.net framework 4.0中WPF的checkbox控件的三种状态样式变更

问题描述 .net framework 4.0中WPF的checkbox控件的三种状态样式变更 当前使用.Net Framework 4.0 WPF开发一个界面,需要使用CheckBox的控件的isThreeState= true ,设置为三种状态,分别是未点击时白框,单击时显示对勾,再单击时显示中间一个小蓝框.分别对应checked值为false, true和 null. 我需要的是,如何装饰checked值为null时,其显示效果由蓝色框更换为一个红色叉的效果. 谢谢.

ASP.NET 2.0移动开发之列表控件

asp.net|控件 概述 在很多情况下,我们都会使用到列表控件来方便用户选择一些选项.例如在某网站上注册新用户时,通常会询问你的性别是"男"还是"女",这时我们用单项按钮以供用户做出相应的选择.还有当你填写自己的家庭地址时,通常会使用到一个包含各省省名的下拉列表来供用户直接选择,这样可以减少用户的输入量.上述的这些单项按钮和下拉列表都在ASP.NET移动程序中都是以列表控件的形式存在的.我们可以使用列表控件来呈现各种形式(单项.多选.下拉列表)的列表,以供用户选择

ASP.NET 2.0的新增服务、控件与功能

asp.net|控件 [导读]全文介绍了ASP.NET 2.0中新增的控件和功能,包括Master Pages,Data Source控件.Skin的支持.GridView和Details View的引入,在此基础上,ASP.NET 2.0的安全模型得到了极大的提高,包括登录控件.角色管理器.个性化等等方面的支持,在类库方面也增加了许多新特性,如全新的代码分隔模型.客户端回调等等,让读者对于ASP.NET的新特性有一个全面的了解. 在首次公诸于众以来的短短四年中,ASP.NET业已成为在Wind

ASP.NET 2.0服务器控件之实现验证控件

asp.net|服务器|控件 为了更好的创建交互式Web应用程序,加强应用程序安全性(例如,防止脚本入侵等),开发人员应该对用户输入的部分提供验证功能.过去,输入验证功能基本由自行编写的客户端脚本来完成这种实现方法既繁琐,又容易出现错误.随着技术的发展,ASP.NET技术通过提供一系列验证控件来克服这些缺点,例如,RequiredFieldValidator.CompareValidator.RangeValidator等.使用这些验证控件,开发人员可以向Web页面添加输入验证功能,例如定义验证

ASP.NET 2.0的multiview和wizard控件

在本文中,将以vs.net 2005为例,说明如何使用这两个控件来创建应用,分别举出两个例子:在线调查和注册用户,读者可以通过本文加深对这两个控件的认识,在这两个例子中,我们还将使用到asp.net 2.0中的一个新的控件masterpage. 在asp.net 1.1中,如果要做一个具有向导式的应用程序,是比较麻烦的.所谓向导式应用,就是说比如一个注册用户的应用,是需要若干步完成的,用户填完某一步的表单后,可以点"下一步"而进入下一步,也可以使用"上一步"的功能回