`
isiqi
  • 浏览: 16038894 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ASP.NET - 如何:对 SqlDataSource 控件启用筛选

阅读更多

SqlDataSource 控件允许您在不重新运行查询的情况下筛选(排序或选择)查询结果。通过向 SqlDataSource 控件添加筛选,可以在运行查询后更改 SqlDataSource 提供的可用数据,而无需返回数据库。

此主题演示如何为 SqlDataSource 控件启用筛选。绑定到 SqlDataSource 控件的数据绑定控件(如 GridView 控件)将只显示筛选的结果。

若要使用筛选,必须将 SqlDataSource 控件设置为返回数据集中的信息并缓存其结果。然后可以指定将用作 SqlDataSource 控件下的 DataView 对象的 RowFilter 属性的筛选器表达式。

此筛选器可以包括基于其他控件、CookieSession 变量或查询字符串的值的参数。例如,如果一个 DropDownList 控件中包含城市名称,则可以使用在 DropDownList 控件中选择的城市作为筛选参数。

说明: 创建带有参数的筛选器表达式与创建参数化的 SelectCommand 属性和指定 SelectParameters 属性值不同。参数化的筛选器将不同的数据视图应用到缓存的数据集。参数化的选择命令对数据源执行查询。

一、为 SqlDataSource 控件启用筛选

·创建带有有效连接字符串和 select 语句的 SqlDataSource 控件。

·将 SqlDataSource 控件的 DataSourceMode 属性设置为 DataSet

·将 SqlDataSource 控件的 EnableCaching 属性设置为 true。为了支持筛选,必须对查询返回的数据进行缓存。

·将 SqlDataSource 控件的 CacheDuration 属性设置为希望数据缓存的秒数。所选择的数字取决于您的应用程序。

将控件的 FilterExpression 属性设置为用于指定返回数据的表达式,如下面的示例所示:

country = 'Germany'

启用筛选的 SqlDataSource 控件将与下面类似:

<asp:SqlDataSource

ID="SqlDataSource1"

DataSourceMode="DataSet"

EnableCaching="true"

Runat="server"

SelectCommand="Select * From Customers"

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

FilterExpression="country = 'Germany'">

</asp:SqlDataSource>

对数据库执行选择命令时,绑定到此 SqlDataSource 控件的控件将只显示筛选的结果。

二、带参数筛选

您常常会希望根据只在运行时为已知的值筛选查询结果。可以创建包括参数占位符的筛选器表达式,然后定义筛选器参数来填充占位符。筛选器参数可以从控件、查询字符串、cookieSession 变量、配置文件属性或 Form 属性值获取值。

使用参数筛选 SqlDataSource 控件

·将 SqlDataSource 控件中的 FilterExpression 属性设置为一个表达式,该表达式中包括表示筛选器参数值的占位符。占位符使用语法 {n},其中 n 指示参数的顺序。

下面的示例演示参数化的筛选器表达式。第二个表达式包括多个参数占位符。

FilterExpression="category = '{0}'"

FilterExpression="country = '{0}' AND city = '{1}'"

创建一个 FilterParameters 元素,作为 SqlDataSource 元素的子级。对于每个筛选器参数占位符,添加属于下面任一类型的元素:

ControlParameterCookieParameterFormParameterProfileParameter

SessionParameterParameter

下面的示例演示如何创建从 DropDownList 控件获取值的筛选器参数:

<FilterParameters>

<asp:ControlParameter

Name="CategoryList" ControlID="DropDownList1"

PropertyValue="SelectedValue" />

</FilterParameters>

说明: 参数的 Name 属性是必需的。但是,参数将按顺序而不是按名称与占位符相匹配。

下面的示例演示一个带有参数化筛选器的完整 SqlDataSource 控件:

<asp:SqlDataSource

ID="SqlDataSource1"

EnableCaching="true"

DataSourceMode="DataSet"

Runat="server"

SelectCommand="Select * from Customers"

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

FilterExpression="country = '{0}'">

<FilterParameters> <asp:ControlParameter Name="countryparam" ControlID="DropDownList1" PropertyName="SelectedValue" /> </FilterParameters>

</asp:SqlDataSource>

分享到:
评论

相关推荐

    在ASP.NET 2.0中操作数据:使用SqlDataSource控件查询数据(源码)

    在ASP.NET 2.0中操作数据:使用SqlDataSource控件查询数据(源码)

    在ASP.NET 2.0中操作数据:使用SqlDataSource控件查询数据

    在ASP.NET 2.0中操作数据:使用SqlDataSource控件查询数据

    ASP.NET源码:某学院学生信息管理系统源码,主要功能有:

    ASP.NET源码:某学院学生信息管理系统源码,主要功能有: 用户管理 学生管理 教师管理 课程管理 班级管理 ... 主要用到的Asp.net2.0中的GridView、SqlDataSource、AequiredFieldValidator、DetailsView以及Master等。

    ASP.NET SqlDataSource To Access

    ASP.NET SqlDataSource To AccessASP.NET SqlDataSource To Access

    ASP.NET教学讲义(吐血推荐)

    第一章:asp.net和web窗体 第二章:WEB服务器控件 第三章:HTML控件和验证控件 第四章:ASP.NET内置对象 第五章:ASP.NET状态管理 第六章:站点设计 第七章:ASP.NET的安全性 第八章:数据绑定 第九章:...

    在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据

    导言:  正如在教程概述插入、更新和删除数据里讨论的...对SqlDataSource控件来说,同样如此!  对ObjectDataSource控件来说,为了实现插入、更新和删除,我们需要指定调用那个方法来实现插入、更新和删除功能。对Sql

    在ASP.NET 2.0中操作数据之四十八:对SqlDataSource控件使用开放式并发

    本文主要讲解ASP.NET 2.0中SqlDataSource控件通过配合SQL语句达到控制开放式并发的目的,通过在UPDATE和DELETE语句里扩展WHERE字句,SqlDataSource能应对绝大部分情况。

    在ASP.NET 2.0中操作数据之四十六:使用SqlDataSource控件检索数据

    在Displaying Data With the ObjectDataSource 这篇教程里,我们探讨了怎样用ASP.NET 2.0的新控件–ObjectDataSource控件在表现层展示数据。  本教程到目前为止用这种层次结构来处理数据。然而绕过这种体系结构,...

    ASP.NET 控件的使用

    9.3 在SqlDataSource控件中使用ASP.NET参数 271 9.3.1 使用ASP.NET参数对象 272 9.3.2 使用ASP.NET的Control-Parameter对象 274 9.3.3 使用ASP.NET的Cookie-Parameter对象 277 9.3.4 使用ASP.NET的Form-Parameter...

    asp.net常用Web服务器控件

    4.1 使用控件显示文本 实例 显示密码格式文本 实例 显示长日期格式时间 实例 显示金额格式文本 4.2 使用控件显示图片 实例 显示验证码图片 实例 动态显示用户头像 实例 使用网页对话框显示图片 实例 实现上传图片 ...

    ASP.NET教学讲义,完整章节

    第一章:asp.net和web窗体 4 1.1 NET应用开发架构简介 4 1.2 Web 窗体与ASP.NET页面 7 1.3 ASP.NET 页的结构 11 1.4 Page事件(页面事件) 16 1.2.2 处理回送 20 1.2.3 ASP.NET应用程序示例 23 第二章:WEB服务器...

    ASP.NET.4揭秘

    9.3 在sqldatasource控件中使用asp.net参数308 9.3.1 使用asp.net参数对象308 9.3.2 使用asp.net的controlparameter对象311 9.3.3 使用asp.net的cookieparameter对象315 9.3.4 使用asp.net的formparameter对象317 ...

    显示隐藏GridView的列

    C#.NET - Client-side example which includes: MasterPage, UpdatePanel, GridView editing, paging and sorting, accessing data via the SqlDataSource control. VB.NET - Client-side example accessing data ...

    显示/隐藏GridView的列源码

    C#.NET - Client-side example which includes: MasterPage, UpdatePanel, GridView editing, paging and sorting, accessing data via the SqlDataSource control. VB.NET - Client-side example accessing data ...

    asp.net教学讲义

    第一章:asp.net和web窗体 6 1.1 NET应用开发架构简介 6 1.1.1. NET框架结构 6 1.1.2 http协议简介 6 1.1.3 静态网页与动态网页 8 1.1.4 客户端代码与服务器端代码 8 1.1.5 ASP.NET简介 8 1.2 Web 窗体与ASP.NET页面...

    ASP.NET3.5控件详解

    VS2008中实际项目中用到的各种控件,包括ASP.NET3.5的大部分控件的使用方法和技巧,各种控件属性以及各种控件方法应用大全。 包括各种基本控件,各种验证控件,各种列表控件,SqlDataSource控件,ObjectDataSource...

    asp.net知识库

    ASP.NET: State Server Gems 完整的动态加载/卸载程序集的解决方案 从NUnit中理解.NET自定义属性的应用(转载) 如何在.NET中实现脚本引擎 (CodeDom篇) .NET的插件机制的简单实现 我对J2EE和.NET的一点理解 难分难舍...

Global site tag (gtag.js) - Google Analytics