asp.net을 사용하면 페이지를 새로 고칠 때 서버 측 이벤트가 자동으로 트리거됩니다. 다음과 같은 간단한 예를 들어 보겠습니다. 등록 페이지에서 등록 정보를 입력한 후 F5를 눌러 새로 고치면 Button 이벤트가 자동으로 트리거되어 다시 등록하는 데 문제가 발생합니다.
내 이전 솔루션: 키워드로 쿼리하고 유사점이 있으면 이 사용자가 이미 존재한다는 메시지가 표시됩니다.
하지만 이 솔루션은 승인 없이 사용할 수 없으며 다시 제출할 것입니다. 이를 고려하여 새로운 해결책을 찾았습니다. 다행히도 친구의 조언으로 더 나은 해결책이 있을 것으로 생각되어 주저하지 않고 조언을 드립니다.
해결책: 새로 고칠 때 KeyPress를 캡처하여 다른 쓸모 없는 이벤트를 트리거하도록 하십시오.
1. F5 이벤트를 캡처하는 JavaScript
window.document.onkeydown = 키스트로크
(KeyStroke) 함수
;
{
var 키 = event.keyCode;
event.srcElement.releaseCapture();
if(키 == 116)
{
document.getElementById("Button1").click();
이벤트.키코드=0;
event.returnValue=false;
}
}
2. aspx 페이지
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 344px; POSITION:absolute; TOP: 408px; WIDTH: 0px;"
에 버튼을 배치합니다.
Text="Button"></asp:Button>
3. 버튼 이벤트
개인 무효 Button1_Click(개체 전송자, System.EventArgs e)
{
Response.Write("F5 키를 눌렀습니다.");
}
이 "차를 저장하여 멋지게 유지"하는 솔루션은 새로 고침을 위한 이벤트를 자동으로 트리거하는 작은 문제를 해결할 수 있습니다. 더 나은 솔루션이 있는 경우 알려주시면 매우 감사하겠습니다.