SqlPersonalizationProvider.FindState 方法

定义

根据指定范围和参数返回一个包含零个或零个以上 PersonalizationStateInfo 派生对象的集合。

public:
 override System::Web::UI::WebControls::WebParts::PersonalizationStateInfoCollection ^ FindState(System::Web::UI::WebControls::WebParts::PersonalizationScope scope, System::Web::UI::WebControls::WebParts::PersonalizationStateQuery ^ query, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection FindState (System.Web.UI.WebControls.WebParts.PersonalizationScope scope, System.Web.UI.WebControls.WebParts.PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords);
override this.FindState : System.Web.UI.WebControls.WebParts.PersonalizationScope * System.Web.UI.WebControls.WebParts.PersonalizationStateQuery * int * int * int -> System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection
Public Overrides Function FindState (scope As PersonalizationScope, query As PersonalizationStateQuery, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As PersonalizationStateInfoCollection

参数

scope
PersonalizationScope

PersonalizationScope 用于指示要查询的个性化信息。 此值不能为 null

query
PersonalizationStateQuery

包含查询的 PersonalizationStateQuery。 此值可为 null

pageIndex
Int32

查询的起始位置。

pageSize
Int32

要返回的记录数。

totalRecords
Int32

可用记录的总数。

返回

PersonalizationStateInfoCollection,包含零个或零个以上 PersonalizationStateInfo 派生对象。

例外

pageIndex 小于零。

pageSize 小于或等于零。

- 或 -

pageSize 的组合pageIndex会导致值大于 Int32.MaxValue

- 或 -

PathToMatch 为非 null,并且修整后为空字符串 ("")。

- 或 -

当值为非 null 时,PathToMatch 的长度大于 256 个字符。

- 或 -

UsernameToMatch 为非 null,并且修整后为空字符串。

- 或 -

当值为非 null 时,UsernameToMatch 的长度大于 256 个字符。

指定的 scope 不是 PersonalizationScope 枚举的有效值。

注解

返回的项集受 pageSizepageIndex 参数约束,其中 pageSize 控制要返回的记录数,控制 pageIndex 要返回的记录。 例如,0 的 和 pageIndexpageSize 25 的 将返回前 25 个匹配项,而 pageIndex 1 和 pageSize 25 的 将返回出现次数 26-50。 如果要提取所有可用记录,请将 设置为 pageIndex 0,将 pageSize 设置为 MaxValue

PersonalizationStateInfo派生的对象按字母顺序返回,按 和 Username排序Path,并按升序返回。

此方法将查询通配符传递给基础数据存储。 对通配符的支持目前取决于每个提供程序如何处理字符,例如星号 (*) 、百分比符号 (%) 或下划线 (_) 。

通常,对于符合 SQL 的数据存储,可以对部分路径执行通配符搜索,其中通配符出现在 属性中 PathToMatch 搜索字符串文本的开头、结尾或中间。 例如,若要查找以“~/approot”开头的所有路径,属性 PathToMatch 将设置为“~/approot%”。

同样,对部分用户名的通配符搜索可以在属性的文本字符串 UsernameToMatch 中的任何点显示通配符。 例如,若要查找以“John”开头的所有用户名,参数 UsernameToMatch 将类似于“John%”。

以下查询约束适用:

  • 如果仅 scope 提供 和 querynull 或 上 query 的所有属性返回 null 或 默认值,则返回与所指示 scope 参数匹配的所有记录。

  • PathToMatch如果该属性不null为 ,则还会根据与属性值匹配的路径筛选返回的PathToMatch记录。

  • UsernameToMatch如果该属性不null为 ,则还会根据与属性值匹配的用户名筛选返回的UsernameToMatch记录。

  • UserInactiveSinceDate如果 属性不等于 MaxValue,则还会筛选返回的记录,以仅返回与非活动用户关联的记录。 比较包括属性小于或等于 属性的UserInactiveSinceDate记录LastActivityDate

请注意,此方法不会验证查询参数的组合。 例如,代码可以请求与共享范围中的特定用户名关联的一组个性化设置状态记录。 由于用户名不与共享信息关联,因此返回的集合将为空。

可能返回非空集合的参数组合包括:

适用于