1

Sharepoint를 사용하여 개발하므로 ASP.NET 3.5를 고수해야합니다. 우리 페이지에 autopostback과 버튼이있는 필드가있는 경우 사용자가 autopostback 필드를 사용하는 즉시 경쟁 조건이 발생하고 버튼을 클릭합니다. 이 경우 버튼 클릭은 autopostback보다 먼저 반환되기 때문에 무시됩니다.ASP.NET에서 autopostback = true 인 요소의 경합 조건을 제거하는 방법은 무엇입니까?

이전에이 문제가 발생 했습니까?

올바른 해결책은 무엇입니까?

부가 기능 : 제가 이야기 사건은 다음에 관한 것입니다 :

<form> 
<ScriptManager /> 
<UpdatePanel> 
<TextBox AutoPostBack="True" /> 
<Button /> 
</UpdatePanel> 
</form> 
+0

양식을 제출하기 전에 자동 다시 게시가 필요한 것은 무엇입니까? '사용자 이름이 이미 존재합니다'와 같은 인증입니까? 버튼 이벤트에서 해결할 수없는 부분이 있습니다. – Phill

+0

제발, 첫 번째 대답 내 의견을 참조하십시오. 우리는 일반적인 프레임 워크를 구축하고 있으므로 페이지에 AutoPostback이있는 필드가 여러 개있을 수 있습니다. 우리의 경우 솔루션은 일반적이어야합니다. – Artem

+0

@Artem - 일반적인 것을 읽으면 자동 게시판이있는 필드가 무엇인지 이해할 수 없으므로 질문에 대답하기가 어렵습니다. 당신이 잘못된 이유로 autopostback을 사용하는 것처럼 들리지만, 각 필드가 이전 필드에 종속되어 있거나 양식을 제출하는 것은 포스트 백 결과에 따라 달라집니다 ... – Phill

답변

0

내가 생각할 수있는 가장 기본적인 해결책은 AutoPostBack을의 원인 클라이언트 이벤트를 처리하여 자바 스크립트를 사용하여 버튼을 비활성화하는 것입니다 .

+0

그런 다음 페이지가 동일한 조건으로 이어질 수있는 다른 autopostback 필드를 가질 수 있으므로 전체 페이지를 비활성화해야합니다. 따라서 우리는 AJAX의 모든 장점을 제거 할 것입니다. :(단순한 해결책이 아닌 조언을 할 수 있습니까? – Artem

0

포스트 백을 기다리는 동안 버튼을 비활성화 할 수 있습니다. 하지만 그건 해킹이고 아마 그렇게하고 싶지는 않을 것입니다. 일반적으로 컨트롤이 문제가있는 경우 제출자가 유효성 검사를 수행하고 제출을 차단할 것으로 기대합니다.

어떤 경우에는 일부 하위 카테고리 정보를 텍스트 상자로 토글하는 드롭 다운 상자에 자동 멈춤 기능이 있다고 가정 해 보겠습니다. autopostback이 발생하고 텍스트 상자가 먼저 업데이트되거나 제출시 드롭 다운의 새 값이 제출되고 서버 측 유효성 검사에서 해당 하위 텍스트 상자에 값이 있어야하는지 결정합니다. 그렇게했다면 사용 가능 상태로 돌아가고 필요하다고 말하는 빨간색 텍스트가 표시 될 수 있습니다.