2010-04-21 3 views
1

Visual Studio .Net 2003 (yeeich)의 이전 웹 응용 프로그램에서 작업하고 있으며 가시성을 설정하지 않는 확인란에 문제가 있습니다. 참된.ASP.Net 확인란으로 설정이 참으로 표시되지 않습니다.

Protected WithEvents chkTraining As System.Web.UI.WebControls.CheckBox 

<asp:CheckBox id="chkTraining" runat="server" Visible="False"></asp:CheckBox> 

내가 가지고있는 라인을 통해 디버깅하고 때 :

그것은 같은 선언 것

chkTraining.Visible = True 

이 잘 그것을지나갑니다 만, 같은 I 그 다음 줄의 chkTraining.Visible = False에서이 값을 확인하십시오. 여기에 무슨 일이 일어날 수 있겠습니까? 발사되는 사건이나 그 밖의 사건은 없습니다 ... 이것은 정말로 저를 돌이키고 있습니다. 당신의 도움을 주셔서 감사합니다.

답변

5

컨테이너의 가시성이 false로 설정 될 수 있습니다.

+0

남자가 내가 바보 같은 느낌, 나는 트리플 게시하기 전에이 문제를 확인하고 내가 ... 잘못된 소스 코드를보고 먼저 올바른 파일을 보면 도움되었다 밝혀졌다. 감사. –

0

왜 신고 하시겠습니까? 당신이

+0

그것은 Visual Studio 2003입니다. 저는 여러분이 그런 식으로해야한다고 확신합니다. 이후 버전에서는 자동으로 수행하지만 태그를 입력하고 컨트롤을 폼으로 끌어 오지 않으면 선언이 만들어지지 않습니다. –

+0

충분히 공정하게, 저는 2005 년에 vs2003 지식이 부족하고 asp.net (2008 년)에 2008 년이 있습니다. 나는 .aspx 페이지에 넣은 것을 선언 할 필요가 없습니다. 코드 숨김 .aspx 페이지로 컨트롤을 드래그하여 명시 적으로 선언하지도 않았습니다. 그러나 코드 뒤에 내가 자동으로 ID를 사용하여 컨트롤에 액세스 할 수 있습니다. 미안 나는 어떤 도움도 될 수 없었다, 행운을 비네! – Mausimo

0

... 뒤에 코드에서 ID를 사용하여에서 .aspx 페이지에

<asp:CheckBox id="chkTraining" runat="server" Visible="False"></asp:CheckBox>

액세스를 퍼팅하는 경우는 RUNAT = "서버"언급을 참조하십시오.

페이지가 브라우저 (클라이언트)에로드 될 때 id "chkTraining"이 다른 것으로 변경 될 때 ...... 이것은 서버 컨트롤의 ID를 변경하는 기본 asp.net 작업입니다.

또한 속성 섹션의 ClientIdMode 속성을 확인하십시오. 정적 인 경우 또는 코드에서 언급 한대로 상속받을 수 있습니다. 당신이 AutoId 같은 다른 값을 사용한 경우

는하지만, 예측은

이,

<%=chkTraining.ClientID%> 

는 당신에게 클라이언트 ID를 제공합니다 같은 않습니다. 클라이언트 ID를 가져온 후이 ID를 사용하여 해당 컨트롤의 속성에 액세스 할 수 있습니다. 예를 들어 ,

var chk = document.getElementById('<%=chkTraining.ClientID%>'); 

if (chk.checked == true) { 
     alert("checked");     
    } 
    else { 
     alert("unchecked"); 
    } 
관련 문제