私のページには、SharePoint のユーザー エディターとフォームフィールドがあります。
<SharePoint:PeopleEditor runat="server" ID="frmUser" AutoPostBack="true" />
<SharePoint:FormField runat="server" ID="frmPermissions"/>
PeopleEditor の値が変更されると、フォーム フィールドに新しいリスト アイテムが表示されます。
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!Page.IsPostBack || string.IsNullOrEmpty(frmUser.CommaSeparatedAccounts))
{
frmUser.CommaSeparatedAccounts = UsersListHelper.CurrentUser.LoginName;
}
UsersListHelper.GetSelectedUser(frmUser.CommaSeparatedAccounts);
frmPermissions.ItemId = UsersListHelper.SelectedUser.Item.ID;
frmPermissions.ListId = UsersListHelper.List.ID;
frmPermissions.FieldName = UsersListHelper._permissionsFieldName;
frmPermissions.ControlMode = Microsoft.SharePoint.WebControls.SPControlMode.Edit;
}
しかし、私はそれを機能させることができません:(。最初のロードはうまくいきますが、ポストバックはうまくいきません。新しいユーザーを入力して送信すると、フォームフィールドはまったく表示されず、もう一度送信すると、適切なヒントをいただければ幸いです。