在SharePoint 2010 中或是要取得使用者資料,最好用的方式就是使用預設的People Picker控制項來挑選使用者,而ㄧ般來說People Picker是搭配People Editor 一起使用的,先來看看People Editor和People Picker:
People Editor:由一個TextBox加上兩個Button組成,一個Button用來檢核使用者名稱是否正確,一個用來叫用
People Picker控制項
People Picker:當點選了People Editor右下角的圖示,則會彈跳出People Picker控制項以方便挑選使用者
那麼該如何在自行開發的WebPart上使用這兩個既有的控制項,以下亞當斯就帶各位來實作其設計步驟:
- 先建立一個Visual WebPart專案命名為:PPWebPartProject,並加入一個Visual WebPart命名為 : UsePeopleEditor
- 在UsePeopleEditor.ascx中先加入Microsoft.SharePoint.WebControls的宣告指示詞,如下所示:
<%@ Register Tagprefix="msw" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> - 接著加入PeopleEditor 控制項以及相關ASP.NET控制項
- 在UsePeopleEditorUserControl.ascx.designer.cs中確定已加入PeopleEditor 控制項的宣告
- 回到畫面,按下按鈕觸發Click事件,並加入擷取使用者資料的程式碼,程式碼如下:
- 這邊分別取Description和DisplayText屬性,主要是因為這兩個屬性取出來的資料是不同的,例如
Description取出來的值為:Domain\adams , 而DisplayText取出來的值為:Adams Chao - 將WebPart部署到SPS網站上執行測試,先使用PeopleEditor 挑選使用者
- 接著按下Save PPName按鈕將資料丟入ListBox中呈現
<msw:PeopleEditor AllowEmpty="false" ValidatorEnabled="true"
id="userPicker" runat="server" ShowCreateButtonInActiveDirectoryAccountCreationMode="true"
SelectionSet="User" />
<asp:Button ID="Button1" runat="server" Text="Save PPName" />
<br />
<asp:ListBox ID="ListBox1" runat="server" Rows="5" Width="150px"></asp:ListBox>
<asp:ListBox ID="ListBox2" runat="server" Rows="5" Width="150px"></asp:ListBox>
以上幾個步驟就可以輕易的在你的WebPart中或是自訂的Page中使用People Editor 控制項,並運用既有的機制擷取使用者的帳號資料。
沒有留言:
張貼留言