2010-08-10 10 views
0
내가 이것을 사용

,왜 asp.net에서 작동하지 않습니까?

<a title="Logout" onclick="javascript:document.getElementById('ctl00_ContentPlaceHolder1_LbLogout').click();" href="#" class="logout">Logout</a></li> 
<asp:LinkButton ID="LbLogout" runat="server" style="display:none" 
    onclick="LbLogout_Click">Sign out</asp:LinkButton> 

앵커 태그 내 linkbuttons 온 클릭 이벤트가 발생하지 않는 것 ... 어떤 자바 스크립트 오류가 발생하면

답변

2

확인합니다. 또한 페이지 소스를보고 id가 컨트롤과 자바 스크립트 코드 사이에서 일치하는지 확인하십시오. 다른 명명 템플릿 계층이있는 경우 직접 코딩하지 말고 컨트롤에서 UniqueID를 사용하도록 컨트롤 이름을 변경해보십시오. 명명 문제 외에도

<a title="Logout" onclick="javascript:document.getElementById('<%= Lblogout.UniqueID %>').click();" href="#" class="logout">Logout</a></li> 
0

:

  • 당신이 그렇지 않으면 # 링크가 다른 링크를 클릭에서 발생할 수있는 탐색 (취소, 다음에 할 수있는 링크 onclick 핸들러에서 return false,해야합니다 페이지를 맨 위로 스크롤).

  • 이벤트 처리기 속성에 javascript: 접두사를 사용하지 마십시오. 그들은 아무 것도하지 않습니다. javascript: 의사 URL을 생각하고 있습니다. 어쨌든 결코 사용되어서는 안됩니다.

  • click()을 호출하여 링크의 기본 동작 (페이지 탐색)을 활성화 할 수 없습니다. click()은 모든 onclick JS 액션을 실행합니다. 페이지를 탐색하려면 수동으로 설정해야합니다 (예 : location.href= link.href).

  • 로그 아웃과 같은 활성 효과가있는 항목에는 링크를 사용하지 마십시오. 일반적인 모양과 같은 단추 여야합니다. 언제나 CSS를 사용하여 링크처럼 보이도록 스타일을 지정할 수 있습니다.

관련 문제