Задний план:
У меня есть встроенная настраиваемая веб-часть SharePoint 2010, унаследованная от System.Web.UI.WebControls.WebParts.WebPart
, у которой свойство определено следующим образом:
[Personalizable(PersonalizationScope.User)]
[WebBrowsable(true)]
[WebDisplayName("...")]
[WebDescription("...")]
[Category("...")]
public string CustomProp { get; set; }
Власть желает знать стоимость собственности для каждого из 3000 пользователей. Я уже знаком с тем, как использовать SPLimitedWebPartManager, чтобы извлечь свойство либо в общем представлении, либо в моем личном представлении, используя код, подобный следующему:
var pageUrl = "/Pages/SomePage.aspx";
var limitedManager = SPContext.Current.Web.GetLimitedWebPartManager(
pageUrl,
PersonalizationScope.User); // or .Shared, if loading the shared value
var webPart = limitedManager.WebParts.OfType<MyWebPart>().FirstOrDefault();
var prop = webPart.CustomProp;
Итак, вопрос:
Я застрял на сборе этой информации для всех пользователей. Предполагая, что у меня уже есть или я знаю, как получить список имен входа или объектов SPUser, как мне получить свойство веб-части для всех пользователей? Я могу использовать предложения на C #, VB.NET или PowerShell.