2009-11-19 2 views
2

내가 활성화/비활성화 asp.net 양식/컨트롤을 선택적으로 또는 완전히 코드 숨김에서 할 수 있습니까?어떻게 활성화/비활성화 asp.net 양식/컨트롤

다음 코드는 작동하지 않습니다. 이 경우에는 Enabled 속성이 없습니다. WebControl에서 상속

public static void Disable(Page container) 
{ 
    for (int i = 0; i < container.Controls.Count; i++) 
    { 
     container.Form.Controls[i].Enabled = false; 
    } 
} 

답변

5

만 컨트롤은 Enabled 속성이 있습니다. 그럼 당신은 루프 내에서 이런 일을 할 수있는 : 당신은 Visible 대신 사용 사용할 수 있습니다

var webControl = container.Form.Controls[i] as WebControl; 
if(webControl != null) { 
    webControl.Enabled=false; 
} 
+0

문서에 따르면 사용이 false이면 컨트롤이 희미 해지고 클라이언트 측에서 편집 할 수 없게됩니다. JMSA가 원하는 것보다 더 가깝지 만 문서에서는 "Internet Explorer 4+"와 호환되는 브라우저에서만 작동한다고합니다. WTF는 IE4와 호환되는 브라우저입니까? –

+0

브라우저는 안전하지 않지만 –

0

. ASP.NET 프레임 워크는 Visible 속성이 false로 설정된 컨트롤의 Render 메서드를 호출하지 않습니다. 문서에서

:

이 속성이 false 인 경우는, 서버 컨트롤이 렌더링되지 않습니다. 페이지를 정리할 때 을 고려해야합니다.

관련 문제