2012-10-07 3 views
1

나는 내 웹 사이트에 jquery 버튼을 가지고 있지만 일부 버튼은 모든 사용자가 클릭 할 수 있어야 사용 권한이 있어야하며, 모든 버튼은 아약스 호출을하므로 어떻게 버튼을 제어 할 수 있는가? 예를 들어 내가 추천 버튼이있는 경우 : 전화
사용자 허가에 따라 ajax 호출하기

button1_click() 
some ajaxcalls 

button2_click() 
some other ajax calls 

button3_click() 
another calls 

그래서 관리자가이 이벤트를 호출 할 수 있지만, 간단한 사용자 만이이 단추 3의 내가 원하는 방식의 종류
?
-do 내가 좋아하는 또 다른 아약스 호출을 사용하여 모든 버튼을 제어 할 수 있습니다

button1_click() 
    an ajax call (permission.aspx) read session,admin or not,return true or false 
    if(true)  
    { 
     someajaxcall() 
    } 

을 -Or 나는 세션에 따라 숨기거나 표시 버튼해야? 그러나 나는 어떻게 그것을 할 수 있는지 모른다.
jqgrid asp.net 구성 요소를 사용하여 그리드에 custombuttons가 있지만 그 단추에는 ID가 없어서 서버 측에서 도달 할 수 없으며 버튼에 나 타나는 속성이 표시되거나 비활성화 될 수 있습니다. asp.net 및 jQuery를 사용하여
임 일반적으로 당신이 백 엔드에 asp.net을 사용하고 있기 때문에, 버튼을 숨길 수 있도록 페이지가있을 때, 사람들이 사용할 수있는 버튼이 표시되지 선호

+0

왜 서버 측 User.IsInRole이 아닌가요? Ajax 호출은 HTML 페이지에도 없을 것이다 (게다가 내부 메소드를 두 번 점검해야한다). –

답변

1

즉, 사용자의 권한을 확인 후 생성 : 어쨌든 그들에게 보여주고 싶은 경우

btnOne.Visible = UserIsAdministrator; //you need to define thisvariable based on your own rules. 

을, 당신은 할 수 btnOne.Enabled = UserIsAdministrator 대신, 버튼을 보여 주지만, 적절한을 해제 할 ;

+0

답변을 주셔서 감사합니다, 나는 그리드 custombuttons 가지고 있지만 jtgrid asp.net 구성 요소를 사용하여 해당 단추가 나던 ID가 그래서 serverside에서 도달 할 수 및 해당 단추 doesnt 보이거나 속성을 사용할 수 없도록. –

1

사용자 역할을 보유 할 해당 페이지에서 hiddenfield을 사용할 수 있습니다. DOM Ready() 함수 내에서 해당 버튼을 반복하여 활성화/비활성화 할 수 있습니다. 그러나 버튼을 활성화하기 위해 누군가가 hiddenfield의 값을 수동으로 변경하는 경우 ajax 호출이 이루어진 후 서버 측에서 역할을 확인해야합니다.

관련 문제