PersonalizationProvider.FindState 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在派生类中重写时,将根据范围和特定的查询参数返回一个集合,其中包含零个或零个以上 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
。
包含查询的 PersonalizationStateQuery。 此值可为 null
。
- pageIndex
- Int32
查询的起始位置。
- pageSize
- Int32
要返回的记录数。
- totalRecords
- Int32
可用记录的总数。
返回
PersonalizationStateInfoCollection,包含零个或零个以上 PersonalizationStateInfo 派生对象。
注解
此方法是用于查询个性化设置数据的管理方法的抽象定义。 派生实现应遵循下述逻辑。
返回的项集受 pageIndex
和 pageSize
参数约束,其中 pageSize
设置要返回的记录数,并 pageIndex
设置要返回的记录。 例如, pageIndex
0 和 25 的将 pageSize
返回前 25 个匹配项,而 pageIndex
1 和 25 的将 pageSize
返回 26-50 个匹配项。 如果要检索所有可用记录,请将 设置为 0,并将 pageSize
设置为 pageIndex
MaxValue。
PersonalizationStateInfo派生对象按字母顺序返回,并按其Path值和Username属性值的组合进行排序,两者均按升序排列。
此方法将查询通配符传递到基础数据存储。 对通配符的支持目前取决于每个提供程序如何处理字符,例如星号 (*) 、百分比符号 (%) 或下划线 (_) 。
通常,对于符合 SQL 的数据存储,可以在属性中 PathToMatch 搜索字符串文本的开头、结尾或中间显示通配符的部分路径上执行通配符搜索。 例如,若要查找以“~/vdir”开头的所有路径, PathToMatch 属性将设置为“~/vdir%”。
同样,对部分用户名的通配符搜索可能使通配符出现在 属性的文本字符串 UsernameToMatch 中的任何点。 例如,若要查找以“John”开头的所有用户名, UsernameToMatch 参数将类似于“John%”。
以下查询约束适用:
如果仅
scope
提供 且 返回null
值或默认值时query
null
为 或query
所有属性,则返回与指示scope
参数匹配的所有记录。PathToMatch如果 属性不
null
为 ,则还会根据与 值匹配的路径筛选返回的PathToMatch记录。UsernameToMatch如果 属性不
null
为 ,则还会根据与属性值匹配的用户名筛选返回的UsernameToMatch记录。UserInactiveSinceDate如果 属性不等于 MaxValue,则还会筛选返回的记录,以便仅返回与非活动用户关联的记录。 比较包括属性小于或等于 属性的UserInactiveSinceDate记录LastActivityDate。
请注意,此方法不验证查询参数的组合。 例如,代码可以请求一组与共享范围内特定用户名关联的个性化状态记录。 由于用户名不与共享信息关联,因此返回的集合将为空。
可能返回非空集合的参数组合包括:
Shared 范围与 PathToMatch 属性结合使用。
User 将 范围与任何或所有 PathToMatch、 UsernameToMatch和 UserInactiveSinceDate 属性的值组合在一起。