2011-12-27 48 views
1

我必須根據選擇的下拉列表更改代碼隱藏中PeopleEditor的SelectionSet。會發生什麼是在從用戶更改爲SPGroup後,當我單擊「瀏覽」時,我可以毫無問題地搜索SharePoint組,但是當我添加一個組並單擊「檢查名稱」時,它不會解決它,控件會保留僅解析用戶。在代碼隱藏中更改SharePoint PeopleEditor控件的選擇集

代碼:

<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; 
    } 

任何想法?提前

回答

0

這可能是愚蠢的,但

感謝貴ddlType被設置爲AutoPostBack="true"

+0

是的,回發正在完成,此更改似乎是部分工作的,因爲瀏覽窗口顯示組(因爲它應該),但驗證仍然爲用戶工作 – Escobar5 2011-12-27 20:05:57

+0

然後,您可能已成爲受害者頁面生命週期以及PeopleEditor是如何構建的(在你設置Postback方法之前它會查找SelectionSet屬性),你可以嘗試再次觸發控件的初始化/加載,但是我建議替換控件從頁面/用戶控件使用佔位符,然後每次更改類型時都在代碼隱藏中重新創建它,因爲您正在重置值,您應該可以這樣做。 – 2011-12-27 20:15:09