Мне нужно изменить SelectionSet для PeopleEditor на codebehind, основываясь на выборе выпадающего списка. Случается, что после того, как он изменился с User на SPGroup, когда я нажимаю «просмотр», я могу без проблем искать группы sharepoint, но когда я добавляю группу и нажимаю «проверять имена», тогда она не разрешает ее, разрешая только пользователей.Изменить SelectionSet управления SharePoint PeopleEditor на codebehind
Код:
<SharePoint:PeopleEditor ID="peDestinatarios" runat="server" AfterCallbackClientScript="updateValidation('peDestinatarios');"
MultiSelect="true" SelectionSet="User" class="validate[funcCall[validateEmptyPicker]]" />
protected void ddlType_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlType.SelectedValue == "Users")
{
peDestinatarios.SelectionSet = "User";
}
else if (ddlType.SelectedValue == "Groups")
{
peDestinatarios.SelectionSet = "SPGroup";
}
peDestinatarios.CommaSeparatedAccounts = string.Empty;
}
Любые идеи?
Заранее спасибо
Да, выполняется обратная передача, также похоже, что работа частично работает, поскольку в окне «Обзор» отображаются группы (как и предполагалось), но проверка по-прежнему работает для пользователей. – Escobar5
. Тогда вы, возможно, стали жертвой жизненный цикл страницы и то, как был создан PeopleEditor (в этом он ищет свойство SelectionSet, прежде чем устанавливать его на свой метод обратной передачи), вы можете попытаться снова запустить init/load для элемента управления, но я бы рекомендовал заменить элемент управления от страницы/usercontrol с помощью заполнителя, а затем повторно создавая его целиком на кодовое имя каждый раз, когда тип изменяется, так как вы сбрасываете значение, которое вы должны делать. –