数据源控件

    数据绑定在ASP.NET 1.x中占据着显著位置。几行位置恰当的数据绑定代码可以取代大量查询数据库,并使用对Response.Write方法的重复调用,从而将查询结果转换为HTML内容的ASP代码。

    下面的DataSource1.aspx页使用ASP.NET 2.0数据绑定来显示SQL Server Pubs数据库的一部分:

<html>                 
    <body>
        <form runat="server">
            <asp:SqlDataSource ID="Titles" RunAt="server"
                ConnectionString="server=localhost;database=pubs;Integrated
                Security=SSPI"
                SelectCommand="select title_id, title, price from titles"
            />
            <asp:DataGrid DataSourceID="Titles" RunAt="server" />
        </form>
    </body>
</html>

    SqlDataSource控件定义了数据源以及对它执行的查询,并且DataGrid的DataSourceID属性指向SqlDataSource。当加载该页时,SqlDataSource控件就会执行查询,并将结果提供给DataGrid。

    当然,实际操作中的数据绑定很少会如此简单。假设您希望缓存查询结果,或者使用在其他控件中选择的项目来参数化数据库查询。图2 中的页使用一个SqlDataSource,用Northwind的Customers表中列出的国家/地区来填充一个下拉列表,并使用另一个SqlDataSource,用在该下拉列表中选择的国家/地区中的一系列客户来填充一个DataGrid。请注意元素,它指示DataGrid的SqlDataSource从下拉列表中获取@country的值。还请注意绑定到该下拉列表的SqlDataSource中的EnableCaching和CacheDuration属性。这些声明将SELECT DISTINCT查询的结果缓存60秒。

    上述示例只是粗浅地探讨了可以通过数据源控件完成的工作。例如,您可以使用存储过程,可以使用从查询字符串、用户输入、会话状态和Cookie中提取的值来参数化查询,并且可以指定控件是否应该使用DataSet或DataReader。因为数据源控件包含数据适配器的功能,所以您甚至可以使用数据源控件来更新数据库。随着ASP.NET 2.0最终发布日期的迫近,读者有望看到大量有关数据源控件的文章。在本期杂志中,Dino Esposito在其文章中更为详尽地讨论了这些控件。

    尽管我所讨论的是数据绑定主题,但您还应该知道ASP.NET 2.0支持简化的数据绑定语法。ASP.NET开发人员可以找到与下面这个给人深刻印象的表达式类似的表达式:

<%# DataBinder.Eval (Container.DataItem, "title") %>

    在ASP.NET 2.0中,可以按如下形式写一个相同的表达式:

<%# Eval("title") %>

    除了Eval运算符以外,ASP.NET 2.0还支持名为XPath和XPathSelect(它们使用指向XML文档中数据的XPath表达式)的运算符。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值