SqlMembershipProvider 스키마에 따라 데이터베이스 테이블을 설정하여 모든 사용자의 요약 테이블을 만들고 싶습니다. 지금까지 내가 가진 :Sql Membership Provider를 사용하여 역할을 포함한 멤버 정보 표시
<asp:GridView ID="UserAccounts" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="UserName" HeaderText="UserName" />
<asp:BoundField DataField="Email" HeaderText="Email" />
<asp:TemplateField HeaderText="Role">
<ItemTemplate>
<asp:TextBox ID="RoleText" ReadOnly="true" runat="server">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
테이블에 대한
, 및 코드 숨김 :
UserAccounts.DataSource = Membership.GetAllUsers();
UserAccounts.DataBind();
사용자의 목록을 생성합니다. 그러나 SQLmembershipprovider에 익숙한 사용자의 경우 사용자와 관련된 역할이 여러 별도의 테이블에 보관됩니다. 따라서 정보를 검색하고 각 사용자 옆에 표시하는 방법을 모르겠습니다.
내가 현재 생각하고있는 해결책은 어떻게 든 행 단위로 테이블 행을 탐색 한 다음 해당 사용자 이름에 대한 Roles.GetRolesForUser()를 호출하여 정보를 검색 한 다음 테이블에 바인딩하는 것입니다. 그러나, 나는 이것을 정확하게하는 방법과 그것이 가장 효율적인 방법이라면 정확하게 모른다.
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –