| NonCached 之一。如果为 Cached,则将使用数据适配器,且整个结果集将临时放置在 ASP.NET 缓存中。如果为 NonCached,则只检索当前页面中的记录。在这种情况下,不进行缓存。
SelectCommand
属性
用来进行查询的命令文本。最好为 SELECT-FROM-WHERE 形式。不支持 ORDER BY 子句。排序是通过 SortField 属性另外指定的。
SortField
属性
用来排序的字段的名称。此字段用于为查询提供动态的 ORDER BY 子句。排序是由 SQL Server 执行的。
ClearCache
方法
删除存储在 ASP.NET 缓存中的任何数据。
PageIndexChanged
事件
默认事件,当分页程序移动到另一个页面时发生。事件的数据结构为 PageChangedEventArgs 类,包含旧页面和新页面的索引。
由于 SqlPager 控件继承了 WebControl,因此它也具有很多与 UI 相关的属性来管理字体、边框和颜色。
生成 SqlPager 控件
将作为复合控件来生成 SqlPager 控件并让其继承 WebControl 类。复合控件是 ASP.NET 服务器控件所特有的,它是由一个或多个服务器控件组成。 public class SqlPager : WebControl, INamingContainer
{ ... }
除非生成完全自定义的控件或扩展现有的控件,否则,创建新控件时,大多数时间实际上是在生成复合控件。要创建 SqlPager,组合一个 Table 控件,并根据分页程序的样式,组合几个 LinkButton 控件或者一个 DropDownList 控件。
生成复合控件时,需要注意几条原则。首先,需要覆盖 CreateChildControls protected 方法。CreateChildControls 方法是从 Control 继承来的,当服务器控件为了显示而要创建子控件时或在返回后,将调用此方法。 protected override void CreateChildControls()
{
// 清除现有的子控件及其 ViewState
Controls.Clear();
ClearChildViewState();
// 生成控件树
BuildControlHierarchy();
}
覆盖此方法时,需要执行几项重要的操作。创建并初始化任何所需的子控件实例并将它们添加到父控件的 Controls 集合中。但是,生成新控件树之前,应该删除任何现有的子控件并清除子控件可能留下的任何 ViewState 信息。
复合组件还需要实现 INamingContainer 接口,以便 ASP.NET 运行时可以为其创建一个新的命名范围。这就确保了复合控件中的所有控件都具有唯一的名称。这还将确保能够自动处理子控件的返回数据。
对于 SqlPager 控件来说,成为命名容器非常重要。事实上,SqlPager 包含一些 LinkButton 控件,并且需要获取并处理其单击事件以便导航页面。正如 ASP.NET 页面中的任何其他控件一样,LinkButton 也被赋予了一个 ID,用于标识处理返回事件 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >> |