答案: 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=> <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中,估计会增加更多的功能。
上一个:利用DataGrid编辑、修改、删除记录(1)
下一个:ASP.NET 2.0中的DataSource系列控件(1)