2013-10-21 3 views
0

내 응용 프로그램 (asp.net)에는 몇 가지 드롭 다운이 있으며 동적으로 생성되며 모두 AutoPostBack = "false"였습니다. 항목에서 드롭 다운을 선택하고 Enter 키를 누르면 애플리케이션에 자동 다시 게시가 수행됩니다. OnKeydown 이벤트에서이 문제를 처리하려고했지만 사용하지 않았습니다.Dropdownlist에서 Enter 키를 누르면 포스트 백이 발생합니다.

일부 사용자가 동일한 기능을 수행 할 수 있습니까? 드롭 다운 목록에 AutoPostBack="false" 설정

감사 파반

+1

왜 'Enter'키를 누르십니까? 아마도 귀하의 페이지에서 첫 번째 제출 버튼을 트리거하고있을 것입니다. –

+0

trigs first submit 버튼을 입력하십시오. –

+0

안녕하세요 Chandan, 내가 문제를 발견, Page.Form.DefaultButton 내 사용자 정의 컨트롤 중 하나에 있습니다 ... 내가 여러 usercontrols로드되어 있고 각 하나의 자신의 버튼으로 구성 해야하는지 제안 할 수 있습니까? 기본 버튼 –

답변

1

제출 '버튼을 누르면 첫 번째 단추 (양식 기본 버튼)을 트리거한다.

버튼을 UseSubmitBehavior="False" 개로 설정하십시오. 이렇게하면 입력시 "AutoPostback"이 비활성화됩니다. 이렇게하면 입력시 포스트 백이 완전히 방지됩니다.

0

당신이 선택을 변경할 때 다시 게시하지 않습니다 의미하는 ASP.NET 양식의 첫 번째 버튼을 눌러 때문에 기본 옵션은 일반적으로 반환 아마도 당신의 양식은 submit 버튼을 호출합니다. 누르면 다시 게시를 방지하기 위해

0

<asp:DropDownList ...... onkeydown="return (event.keyCode!=13)"/> 

를 추가하기에 충분 shuld 드롭 다운 목록 안에 입력하지만 사용자가 페이지의 모든 컨트롤 내부의 Enter 키를 누를 경우, 당신은 그 자체 같은 문제가됩니다. 전체 페이지의 Enter 키를 비활성화하려면이 페이지의 코드

<body onkeydown = "return (event.keyCode!=13)"> 
0

코드를 제공해 주시겠습니까? 코드를보고 어떤 컨트롤이 포스트 백을 일으키고 있는지 쉽게 알 수 있습니다. 내 생각에 asp.net 버튼에 "UseSubmitBehavior"속성이 true로 설정되어있을 수 있습니다. 버튼을 누르면 Enter 버튼을 누르면 포스트 백이 발생합니다. 는

if(IsPostback){ 
var controlName = page.Request.Params["__EVENTTARGET"]; 
} 

가 주시기 바랍니다 내가 당신은 더 이상 설명이 필요합니다 알고있는 포스트 백을 일으키는을 제어하는 ​​감지하기 위해 Page_Load 이벤트에 코드 줄을 추가 할 수 있습니다 더 알아보고자 하였다. :)

+0

문제점, Page.Form.DefaultButton이 내 사용자 정의 컨트롤 중 하나에 있습니다 ... 여러 개의 usercontrols가로드되어 있고 각각 고유 버튼이 기본 버튼으로 구성되어 있어야하는 경우 제안 할 수 있습니까? –

+0

안녕하세요, 현재 컨트롤이 usercontrol에있는 각 컨트롤의 포커스에있는 활성 컨트롤 (해당 컨트롤 중 하나에 포커스가있는 경우)인지 확인하여 Page.Form.DefaultButton을 UseSubmitBehavior로 설정합니다. 정말 추천하지 않습니다. 모든 컨트롤에서 UseSubmitBehavior를 제거하고 사용자가 마우스 클릭으로 제출할 때까지 기다립니다. –

관련 문제