2012-07-27 1 views
0

레이블이 보이지 않으면 제출 단추가 유효성 검사 메시지 또는 오류를 표시한다는 점에서 가시성을 기준으로 레이블에 유효성 검사를 추가하려고합니다.레이블의 가시성에 기반한 유효성 확인

이 기능을 허용하지 않는 도구 상자의 유효성 검사 컨트롤을 사용하고 있습니다. 레이블의 가시성을 false로 설정되어 asp.net 엔진 심지어 DOM에 넣어되지 않습니다

감사

+0

나는 당신이 ASP : 버튼을 의미한다고 생각 하는가? 또한, 당신은 아무것도 시도한 적이 있습니까? 시도한 코드가 있다면 좋을 것입니다. –

+0

입력란으로 detailsview를 사용하고 있는데, 버튼 (실제 제출 버튼이 아님)을 클릭하면 라벨이 표시되고 (데이터 바인딩 된 값을 가짐) 필드에 표시됩니다. 하지만 레이블 사용 가시성에 대한 유효성 검사 컨트롤을 사용할 수 없습니다 (예 :!) 따라서 나는 그것에 대해 갈 방법을 모릅니다 .... 우물은 정말 ur 입력을 주셔서 감사합니다 – user851971

답변

0

은 ASP가있는 경우 것처럼 보인다. 따라서 (html) 버튼의 onclick 속성을 사용하여 라벨이 DOM에 있는지 여부를 확인하고 asp.net의 __doPostBack() 자바 스크립트 기능을 사용하여 서버에 다시 게시 할 수 있습니다 (

).

 <script type="text/javascript"> 
     function testMe() 
     { 
      var lbl = document.getElementById('lblTest'); 
      if(lbl == null) 
      document.getElementById('msg').innerHTML = "Error"; 
      else 
      __doPostBack('testButton'); 
     } 
     </script> 
     <asp:Label ID="lblTest" runat="server" Visible="false" Text="Hello"></asp:Label> 
     <button onclick="testMe();">test</button> 
완전히 솔직히 말해서, 나는 레이블이 DOM에 존재하지 않은 경우 lblundefined이 될 것이라고 생각하지만, 방화범은 실제로 null입니다 밝혔다. 어쨌든, 두 가지 유의 사항은 asp.net에서 __doPostBack() 메서드를 정의하기 위해 autopostback="true"이있는 폼에서 컨트롤이 필요하다고 생각하고 코드 숨김에서 무엇이 포스트 백이 발생했는지 확인할 수 있습니다. Page_Load 같은 방법 :

if(Request.Form["__EVENTTARGET"] == "testButton") {} 
+0

감사합니다 .... @ 슈레더 !! – user851971