2012-07-24 6 views
2

Enter 키를 누르면 ASP.NET 웹 앱 (C#, VS2010)을 개발 중이며 버튼 (검색 버튼)과 텍스트 상자가있는 마스터 페이지가 있습니다. 이 검색 버튼이 실행되지만 로그인 페이지에있을 때이 마스터 페이지 검색 버튼이 작동하지 않게 할 수 있습니다. 로그인 페이지에는 두 개의 텍스트 상자와 다른 버튼 (로그인 버튼)이 있습니다. 로그인 페이지에있을 때이 로그인 버튼을 기본 버튼 (Enter 키와 함께 실행)으로 사용하고 싶습니다. 물론 자바 스크립트 또는 DefaultButton 속성을 전혀 사용하지 않았습니다.ASP.NET에서 masterpage 버튼의 기본 버튼 속성을 전환합니다.

로그인 페이지에서 마스터 페이지 버튼 입력 키를 비활성화하려면 어떻게해야합니까?

답변

3

당신은 기본 버튼을하려는 각 영역 주위에 DefaultButton를 정의 할 필요가있다, 그 다음의 부분을 사용하는 마스터 페이지의 코드 숨김에서 기본 버튼의 마스터 페이지 변경의 기본 부톤 섬을 변경하려면 이 양식이 초점 :

<asp:Panel id="SearchPanel" runat="server" DefaultButton="Search" > 
     <asp:Button id="Search" runat="server" Text="Search" /> 
<asp:Panel> 
<asp:Panel id="LoginPanel" runat="server" DefaultButton="Login" > 
     <asp:Button id="Login" runat="server" Text="Login" /> 
<asp:Panel> 
+0

감사합니다,하지만 두꺼운 트릭으로 내 masterpage 버튼을 비활성화 할 수 있습니까? –

+0

물론, ASP.NET에서 DefultButton을 통해 정상적으로 처리한다는 것을 알 수 있습니다. –

+0

보이지 않는 버튼에 DefaultButton 속성이있는 패널 안에 검색 버튼 (masterpage에 있음)을 넣었지만 여전히 그 동작을 수행하고 있습니다 –

1

로그인 페이지에서 마스터 페이지 단추 컨트롤에 대한 참조를 얻은 다음 사용하지 않도록 설정하십시오.

Button b = Master.FindControl("ButtonID"); 
b.Enable= false; 

form1.DefaultButton = "New button ID"; 

oR from login page codebehind 

Form.DefaultButton = "New button ID"; 
+0

감사합니다,하지만 난 내 마스터 페이지 버튼을 해제하고 싶지 않아,이게 내가 원하는 것입니다 : 내 사용자가 로그인 페이지에있을 때, 나는 로그인 버튼을 눌렀 키를 입력합니다 그만큼 masterpage 버튼 –

+1

@Ali_dotNet 업데이트 된 답변보기 –