PersonalizationProvider.FindState 方法

定义

在派生类中重写时,将根据范围和特定的查询参数返回一个集合,其中包含零个或零个以上 PersonalizationStateInfo 派生对象。

public:
 abstract 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 abstract 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);
abstract member FindState : System.Web.UI.WebControls.WebParts.PersonalizationScope * System.Web.UI.WebControls.WebParts.PersonalizationStateQuery * int * int * int -> System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection
Public MustOverride 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 派生对象。

注解

此方法是用于查询个性化设置数据的管理方法的抽象定义。 派生实现应遵循下述逻辑。

返回的项集受 pageIndexpageSize 参数约束,其中 pageSize 设置要返回的记录数,并 pageIndex 设置要返回的记录。 例如, pageIndex 0 和 25 的将 pageSize 返回前 25 个匹配项,而 pageIndex 1 和 25 的将 pageSize 返回 26-50 个匹配项。 如果要检索所有可用记录,请将 设置为 0,并将 pageSize 设置为 pageIndexMaxValue

PersonalizationStateInfo派生对象按字母顺序返回,并按其Path值和Username属性值的组合进行排序,两者均按升序排列。

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

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

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

以下查询约束适用:

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

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

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

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

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

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

适用于