사이트 모음 내의 사이트 이름으로 드롭 다운 목록을 채우려면 어떻게해야합니까?사이트 이름이 채워진 공유 지점의 드롭 다운 목록
0
A
답변
4
프로그래밍 방식으로 하시겠습니까?
SPSite.AllWebs
사용
최상위 사이트와 하위 사이트를 포함하여 사이트 모음에 포함 된 모든 웹 사이트 의 컬렉션을 가져옵니다 SPSite.AllWebs 속성입니다. 사용자를위한 그러나
, 당신은 아마 UnauthorizedAccessException를 얻을 것이다 (당신이 상승 된 권한으로 DropDownList로 채울 선택하지 않는,하지만 그건 당신이 드롭 다운 함께 할 수 wan't 무엇에 의존하는 경우) 때문에 모든 사람이 모든 웹을 열거 할 권한이있는 것은 아닙니다.
이 경우 SPWeb.GetSubwebsForCurrentUser
, 당신은
현재 사용자가 구성원 인 의 현재 웹 사이트 아래에 하위 사이트 의 컬렉션을 반환하는 것이 SPWeb.GetSubwebsForCurrentUser 방법 사용합니다.
그러나이 방법은 현존하는 서브 사이트 만 반환합니다 (즉, 1 레벨 깊이, 즉 현재 웹). 당신은
당신은 당신이 얻을 각 SPWeb에 다음 SPSite.AllWebs 전화 SPSecurity.RunWithElevatedPrivileges를 사용할 수 있습니다 ...
추천 I`d 재귀 루프에 필요 찾은 각 SPWeb에 GetSubWebsForCurrentUser 전화 .. 잘못을 것입니다, 확인 사용자가 권한을 필요로하는 경우, DropDownList에 항목을 추가하십시오.
DropDownList ddl = new DropDownList();
SPUser currentUser = SPContext.Current.Web.CurrentUser;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite elevatedSite = new SPSite(SPContext.Current.Site.ID)) //you MUST create new SPSite instance
{
SPWebCollection elevatedWebs = elevatedSite.AllWebs;
foreach (SPWeb elevatedWeb in elevatedWebs)
{
try
{
if (elevatedWeb.DoesUserHavePermissions(currentUser.LoginName, SPBasePermissions.ViewPages))
ddl.Items.Add(new ListItem(elevatedWeb.Title, elevatedWeb.ID.ToString()));
}
finally
{
if (elevatedWeb != null)
elevatedWeb.Dispose();
}
}
}
});
: 코드에서 , 그것은 다음과 같이 보입니다
관련 문제
- 1. ASP.NET의 이미지로 채워진 드롭 다운 목록?
- 2. 메가 드롭 다운 목록
- 3. 데이터 소스에서 채워진 날짜순 정렬 드롭 다운 목록
- 4. 공유 지점의 사이트 기능은 어디에 있습니까?
- 5. JTextField 내 드롭 다운 목록
- 6. asp.net 드롭 다운 목록
- 7. ASP.NET의 드롭 다운 목록
- 8. xcode의 드롭 다운 목록
- 9. 종속 드롭 다운 목록
- 10. 드롭 다운 목록 필터링
- 11. iPhone 드롭 다운 목록
- 12. Json 드롭 다운 목록
- 13. PHP 드롭 다운 목록
- 14. 간단한 드롭 다운 목록
- 15. 드롭 다운 목록 autopostback?
- 16. 드롭 다운 목록 배경색
- 17. 계단식 드롭 다운 목록
- 18. 드롭 다운 목록 작성
- 19. Gridview의 드롭 다운 목록
- 20. 아이폰 드롭 다운 목록
- 21. 양식 - 드롭 다운 목록
- 22. 드롭 다운 목록 생성
- 23. 동적 드롭 다운 목록
- 24. 드롭 다운 목록 국경
- 25. 드롭 다운 목록
- 26. 드롭 다운 이미지 목록
- 27. 목록보기의 드롭 다운 목록
- 28. 드롭 다운 목록 바인딩
- 29. I라는 하나의 드롭 다운 이름이 한 페이지가 드롭 다운
- 30. 데이터베이스에서 채워진 JQGrid 편집 양식 드롭 다운