This is quirky but I believe I have figured it out: The other day I was trying to set a PeopleEditor’s CommaSeparatedAccounts attribute but it would not take my string. I debugged the code and actually witnessed with my own eyes the assignment of the new user string but then when I checked the attribute value it was still String.Empty(“”). So I had a hunch, tried this and it finally it took my username string and it darn well liked it:
bool isVisible = peUser.Visible;
peUser.Visible = true;
peUser.CommaSeparatedAccounts = ddlUserMatrixSelector.SelectedValue;
peApprover.Visible = isVisible;
The moral of the story is control.visible must be true to set this attribute.