2013-08-16 2 views
0

이상한 문제가 있습니다.두 요청으로 서버 시간 초과가 발생했습니다.

asp.net (C#)에서 텍스트 필드와 버튼이있는 웹 양식이 있습니다.

텍스트 필드에는 text_changed 이벤트로 자동 게시가 활성화되어 있습니다. 버튼에도 클릭이 있습니다.

텍스트가 필드에서 변경되고 사용자가 텍스트 필드에 포커스를 잃지 않고 단추를 클릭하면 두 이벤트가 서버에서 "충돌"하는 것처럼 보이며 요청은 반환하는 데 2-3 분 정도 걸립니다 아무것도.

필드를 텍스트가 변경되고 단추를 클릭하기 전에 필드가 포커스를 잃으면 이벤트가 별도로 실행되고 모든 사항이 정상입니다.

사용자가 텍스트를 변경하면 버튼을 클릭 할 수 있어야합니다.

이 문제를 본 다른 사람이 있습니까? 그렇다면 어떻게 해결할 수 있습니까?

+1

텍스트 상자 이벤트로 무엇을 달성하려고합니까? – christiandev

+0

우리는 코드 plz needz. 또한 나는 그것이 꽤 자바 스크립트 이벤트를 기반으로 타임 아웃하는 것은 불가능하다고 생각합니다. 서버 측에도 잘못된 점이 있습니다. – Robert

+0

텍스트 상자 이벤트는 페이지에서 일부 수학 및 업데이트 수치를 수행합니다. 모든 사용자가 변경 사항을 볼 필요는 없으며 일부 사용자는 버튼을 클릭하기 전에 결과를 변경하려고합니다. – Stuart

답변

0

jquery를 사용하는 것이 좋습니다.

protected void TextBox2_TextChanged(object sender, EventArgs e) 
{ 
    if (Request.Form.Get("__EVENTTARGET") == Button2.UniqueID) 
     return; 
    Debug.WriteLine(TextBox2.Text); 
} 

protected void Button2_Click(object sender, EventArgs e) 
{ 
    Debug.WriteLine("Text"); 
} 

주목하라의 EventTarget에 대한 확인 :이 문제를 해결하지만이 시도한다면

better to Use Keyup Or Keydown of jquery event instead of textchanged event. 
and false the autopost property of textbox. 
0

는 잘 모르겠어요. 테스트 한 결과, 탭을 클릭하지 않고 클릭 이벤트가 무시되고 텍스트 만 이벤트가 변경된 것처럼 보였습니다. 텍스트가 변경된 이벤트에 추가 체크를 추가하면이를 해결하는 것으로 보입니다. 이것은 약간의 결함이지만 텍스트 변경 이벤트가 두 번 호출되는 경우가 있습니다 (항상 그렇지는 않음). 코드에서이 문제를 처리해야 할 수도 있습니다.

관련 문제