2012-04-14 2 views
1

나는 gridview가있는 페이지가 있습니다. gridview에는 기본적으로 "편집 사용"및 "삭제 사용"이 선택되어 있습니다. 코드 숨김 page_load 이벤트에서 이들 중 하나를 "선택 취소"할 수 있기를 원합니다.역할에 따라 명령 열의 일부 표시

나는 this SO question을 찾았지만 전체 명령 행을 숨 깁니다. 사용자의 역할에 따라 "편집"또는 "삭제"하이퍼 링크 만 숨기려고합니다. 이 일을 어떻게 하죠?

답변

2

당신의 GridView이 추가 : ondatabound = "GridView1_DataBound" 별도의 명령 열을의 GridView에

<asp:CommandField ShowDeleteButton="True" /> 
<asp:CommandField ShowEditButton="True" /> 

protected void GridView1_DataBound(object sender, EventArgs e) 
{ 
     if (User.IsInRole("Administrator")) 
     { 
      GridView1.Columns[0].Visible = true; 
      GridView1.Columns[1].Visible = true; 
     } 
     else { 
      GridView1.Columns[0].Visible = false; 
     } 
} 

변경을 열 인덱스를 요구 사항에 따라, 첫 번째 열은 0

+0

감사합니다,하셨습니까입니다 나는 그런 커맨드 필드를 나눌 수 있다는 것을 알지 못한다. – Mekswoll

+0

모든 페이지에서 하드 코딩 역할을 피하기 위해 사용자 검사를 유틸리티 클래스로 옮길 수 있습니다. –

관련 문제