分享
 
 
 

ASP.NET 2.0中的DataSource系列控件

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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控件绑定,以实现方便地制作站点的页面导航功能。

下图显示了VS.NET 2005 Express beta 1中,Datasource的六种控件:

本文中,将重点介绍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中,估计会增加更多的功能。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有