如何在ASP.NET中获取WebParts的PersonalizationProvider对象?
问题描述:
有SqlPersonalizationProvider,我也定义了其他CustomPersonalizationProvider
在我有多个webparts的页面中,我需要具有重置Webparts状态以emply或删除状态的功能。如何在ASP.NET中获取WebParts的PersonalizationProvider对象?
存在一个定义的方法System.Web.UI.WebControls.WebParts.PersonalizationProvider.ResetState
可以调用,具有页面路径和用户名。我无法找到获取当前提供者的对象的方法,因此我可以调用此方法来删除状态。
答
我发现,我们可以使用PersonalizationAdministration.Provider
和复位状态存在于供应商的方法,如电流供应商获得:
PersonalizationAdministration.Provider.ResetState(PersonalizationScope.Shared, paths, null);
or
PersonalizationAdministration.Provider.ResetState(PersonalizationScope.Private, paths, username);