web的数据控件

1  数据源控件

1.1  SQL数据源控件(SqlDataSource)

SqlDataSource能够与任何一种ADO.NET支持的数据库进行交互,这些数据库包括SQL Server、ACCESS、Oledb、Odbc以及Oracle。

SqlDataSource控件能够支持数据的检索、插入、更新、删除、排序等。SqlDataSource控件所属的页面被打开时,SqlDataSource控件能够自动的打开数据库,执行SQL语句或存储过程,返回选定的数据,然后关闭连接。

sql连接数据库之后的webconfig代码:

  <connectionStrings>

        <add name="mytableConnectionString" connectionString="Data

        Source=WIN-YXDGNGPG621;Initial Catalog=mytable; Integrated Security=True"

        providerName="System.Data.SqlClient" />

    </connectionStrings>

连接数据后sqldatasource控件的代码:

<asp:SqlDataSource ID="SqlDataSource1" runat="server"

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

        SelectCommand="SELECT [TITLE], [ID] FROM [mynews]">

    </asp:SqlDataSource>

 

 

SqlDataSource控件同时能够使用缓存来降低页面与数据库之间连接频率,这样可以避免开销很大的查询操作,以及建立连接和关闭连接操作。只要数据库是相对稳定不变的,则可以使用SqlDataSource控件的缓存属性(EnableCaching)来进行缓存。在默认情况下,缓存属性(EnableCaching)是关闭的,需要开发人员自行设置缓存属性。

1.2  Access数据源控件(AccessDataSource)

SqlDataSource能够与任何一种ADO.NET支持的数据源进行交互,这些数据源包括SQL Server、Access、Oledb、Odbc以及Oracle。但是Access数据库有专门的数据源控件,就是AccessDataSource。AccessDataSource控件同配置SqlDataSource控件基本相同,如图8-13所示。

与SqlDataSource不同的是,SqlDataSource主要采用的是ConnectionString属性连接数据库,而Access则采用的是AccessDataSource方式连接数据库。因为Access数据库是以文件的形式存在于系统中的,所以主要采用DataFile属性直接以文件地址的方式进行连接。要连接Access数据库,则必须选择Access数据库文件。

连接后的access数据源控件的代码:

<asp:AccessDataSource ID="AccessDataSource1" runat="server"

        DataFile="~/acc.mdb"

        SelectCommand="SELECT [bh], [title] FROM [mytable]">

    </asp:AccessDataSource>

当需要使用Access数据库,推荐将Access数据库文件保存在App_Data文件夹中。以保证数据库文件是私有的,因为ASP.NET不允许直接请求App_Data文件夹。

注意:AccessDataSource控件不支持访问受密码保护的Access数据库文件,如果需要访问受密码保护的Access数据库文件,则需要使用SqlDataSource控件。

1.3  目标数据源控件(ObjectDataSource)

大多数ASP.NET 数据源控件,如 SqlDataSource都是在两层应用程序层次结构中使用。在该层次结构中,表示层(ASP.NET 网页)可以与数据层(数据库和 XML 文件等)直接进行通信。SqlDataSource是两层模型中使用的.页面通过直接访问数据库.。但ObjectDataSource用于三层模型中,通过中间业务对象访问数据库的。然后中间层业务对象再用在表示层中,例如在开发中使用的自定义控件。ObjectDataSource的业务对象是可以用检索或更新数据的业务对象,例如Bin或App_Code目录中定义的对象。

ObjectDataSource控件对象模型类似于SqlDataSource控件。ObjectDataSource公开一个TypeName属性,该属性指定要实例化来执行数据操作的对象类型,也就是类的名称。同样ObjectDataSource包括四个重要属性,这四个属性分别为SelectMethod、UpdateMethod、InsertMethod和DeleteMethod,分别用于指定要执行这些数据操作关联类型的方法。

 

ObjectDataSource控件可以使开发人员将诸如GridView和DropDownList这样的用户界面控件绑定到一个中间层组件。能够无需编写任何代码即可绑定到一个组件,从而极大的简化用户界面。与其他的数据源控件相同,ObjectDataSource控件在运行时可以接受参数,并在参数集合中对参数进行管理。每一项数据操作都有一个相关的参数集合,可以使用SelectParameters集合,InsertParameters、UpdateParameters、DeleteParameters集合,需要分别确定相应操作所需调用的方法。

1.4  LINQ数据源控件(LinqDataSource)

语言集成查询(LINQ)是一种查询语法,它可定义一组查询运算符,以便在任何基于.NET 的编程语言中以一种声明性的方式来表示遍历、筛选和投影操作。数据对象可以是内存中的数据集合,或者是表示数据库中数据的对象。无需为每个操作编写SQL命令,即可检索或修改数据。

使用LinqDataSource控件,开发人员可以通过在标记文本中设置属性从而在ASP.NET网页中使用 LINQ。LinqDataSource 控件使用LINQ to SQL来自动生成数据命令。LINQ数据源可以是LINQ数据库或数组等以集合形式表现的数据库。

添加并被配置数据到LINQ数据源控件,配置好后的代码为:

配置完成后,LINQ数据源控件HTML代码如下所示。

    <asp:LinqDataSource ID="LinqDataSource1" runat="server"

        ContextTypeName="ClassLibrary1.Class1" Select="new (Length, Chars)"

        TableName="arr">

    </asp:LinqDataSource>

当完成LINQ数据源控件(LinqDataSource)的配置后,就可以通过控件绑定LINQ数据源控件来获取LINQ数据库中的信息。

LinqDataSource控件按以下顺序应用数据操作:

q      Where:指定要返回的数据记录。

q      Order By:排序。

q      Group By:聚合共享值的数据记录。

q      Order Groups By:对分组数据进行排序。

q      Select:指定要返回的字段或属性。

q      Auto-sort:按用户选定的属性对数据记录进行排序。

q      Auto-page:检索用户选定的数据记录的子集。

1.5  Xml数据源控件(XmlDataSource)

Xml数据源控件可以让数据绑定控件轻易的连接到XML数据源。在只读方案下通常使用XmlDataSource控件显示分层XML数据,但同样可以使用该控件显示分层数据和表格数据。与AccessDataScource相同的是,XmlDataSource控件同样使用DataFile属性指定XML文件并加载XML数据。

选择数据源后,单击确定并完成数据源的配置即可,配置完成数据源后,XmlDataSource控件的HTML代码如下所示。

    <asp:XmlDataSource

        ID="XmlDataSource1" runat="server" DataFile="~/xmldate.xml">

    </asp:XmlDataSource>

如现有一个如下的xml文件:

<?xml version="1.0" encoding="utf-8" ?>

<news>

    <title>新闻标题1</title>

    <time>2008</time>

    <author>guojing</author>

    <content>这是新闻正文</content>

    <title>新闻标题2</title>

    <time>2008</time>

    <author>guojing</author>

    <content>这是新闻正文</content>

</news>

则添加一个asp:treeview控件,并将数据源绑定为xml数据,即xmlsource绑定的数据源。:

asp:treeview的代码则变为;

<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1"

        ImageSet="Contacts" NodeIndent="10">

            <ParentNodeStyle Font-Bold="True" ForeColor="#5555DD" />

            <HoverNodeStyle Font-Underline="False" />

            <SelectedNodeStyle Font-Underline="True" HorizontalPadding="0px"

            VerticalPadding="0px" />

        <DataBindings>

            <asp:TreeNodeBinding DataMember="title" Text="title" TextField="#InnerText" Value="title" />

        </DataBindings>

        <NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black"

        HorizontalPadding="5px" NodeSpacing="0px" VerticalPadding="0px" />

    </asp:TreeView>

XmlDataSource控件一般用于只读的数据方案。数据绑定控件显示XML数据,还可以通过XmlDataSource来编辑XML数据。但是当XmlDataSource控件加载时,必须使用DataFile属性加载,而不能从Data属性中指定的XML的字符串进行加载。

1.6  站点导航控件(SiteMapDataSource)

如果需要使用SiteMapDataSource控件,用户必须在Web.sitemap文件中描述站点的结构,示例代码如下所示。

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

    <siteMapNode url="" title="根目录"  description="根目录">

        <siteMapNode url="SqlDataSource.aspx" title="SqlDataSource.aspx"  description="SQL数据库" />

        <siteMapNode url="AccessDataSource" title="AccessDataSource"  description="Access数据库" />

        <siteMapNode url="LinqDataSource" title="LinqDataSource"  description="Linq" />

        <siteMapNode url="ObjectDataSource" title="ObjectDataSource"  description="Object" />

        <siteMapNode url="XmlDataSource" title="XmlDataSource"  description="Xml" />

    </siteMapNode>

</siteMap>

上述代码描述了网站的目录结构,在文件中,必须有一个根为siteMapNode的元素作为siteMap元素的自己,并定义以下常用属性:

q      title:为站点地图节点指定一个标题,该标题将显示为网页的连接文本。

q      Url:为网页指定URL。支持相对或绝对路径。

q      Description:为站点地图的节点添加描述,当用户鼠标移动到该栏目时,则会显示描述信息。

q      StartFormCurrentNode:当设置为true时,则可以从该节点开始检索站点地图结构。

q      StartingNodeOffset:当属性设置为2时可以检索当前地图结构。

SiteMapDataSource控件无需配置,拖放一个TreeView控件和一个SiteMapDataSource控件在页面,指定TreeView数据源即可.配置完成后,数据绑定控件会自动读取Web.sitmap文件并生成导航。

2  重复列表控件(Repeater)

重复列表控件(Repeater)是一个可重复操作的控件。它能够通过使用模板显示一个数据源的内容,而且开发人员可以轻松的配置这些模板,Repeater控件包括如标题和页脚这样的数据,它可以遍历所有的数据选项并将其应用到模板中。

重复列表控件并不是从WebControl派生出来,重复列表控件可以直接操控HTML文件或者样式表来编写模板和控制属性。重复列表控件支持5种模板,用来显示相应的界面信息,这5种模板的功能如下所示:

q      AlternatingItemTemplate:指定如何显示其他选项。

q      ItemTemplate:指定如何显示选项。

q      HeaderTemplate:建立如何显示标题。

q      FooterTemplate:建立如何显示页脚。

SeparatorTemplate:指定如何显示不同选项之间的分隔符。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值