2009-07-14 4 views
0

데이터를 가져 와서 다른 사이트에 게시 할 cs 스크립트 파일이있는 ASP.NET 페이지가 있습니다.양식 제출 전 ASP.NET 실행

사이트에서 데이터를 수집/보유하기 위해 asp : TextBox 및 asp : HiddenField 값을 포함한 일반 HTML 양식을 사용하고 있습니다. 내가 겪고있는 문제는 다른 사이트에 게시되기 전에 일부 주요 데이터가 해시되고 소금으로 처리되어야한다는 것입니다.

나는이 작업을 수행하는 방법을 가지고 있지만 잘 작동하지만 제출 단추의 OnClick 특성 인 asp : Button은 현재 포스트 백을 설정합니다. 이것은 분명히 내가 원하지 않는 새로운 페이지로 갈 때 건너 뛴다는 것을 의미합니다.

아직 웹 개발에 익숙하지 않으므로 페이지를 제출하기 전에 메소드를 실행하는 방법이 있습니까? 아니면 해시에 영향을 줄 필드가 변경 될 때마다 메소드를 실행해야합니까?

답변

1

해싱 방법이 자바 스크립트로 작성되어 있고 버튼의 onclick 클라이언트 측 이벤트에서 호출하는 경우. 양식이 게시되기 전에 실행해야합니다. 양식의 onsubmit 이벤트를 사용하는 것이 대안 일 수 있습니다.

서버 쪽 숨겨진 컨트롤의 값을 설정하는 해시 함수에 대해 얘기하는 경우 해시 메서드 뒤에 Server.Transfer을 사용해야합니다. PostBackUrl 속성이있는 단추는 페이지 자체를 다시 게시하지 않기 때문입니다.

+0

아마도 C#에서 문제가 될 수 있습니다. 그러나 텍스트 상자는 asp : TextBox 양식에 있습니다. 모든 HTML 코드를 일반 HTML 코드로 변경해야합니까? 아니면 자바 스크립트에서 데이터를 액세스/설정하는 방법이 있습니까? – Jared

+0

아니요, 서버 측에 있으면 숨겨진 필드 값도 가져올 수 없습니다. PostBackUrl 속성을 사용하면 현재 페이지가 다시 게시되지 않기 때문입니다. 그래서 당신은 필드를 설정할 수 없습니다. 내가 말했듯이 대신 Server.Transfer를 사용하십시오. – Canavar

+0

네, 서버에 다시 게시하고 싶지 않습니다. 왜냐하면 서버에 입력 한 중요한 정보를 공개 할 것이기 때문입니다. 폼에서 처리 페이지로 한 걸음 씩 나 가려고합니다. 누군가 다른 사람의 페이지가 될 수 있습니다. \ – Jared

0

당신이이 폼이 제출 될 때 약간의 자바 스크립트를 실행하는 방법이 될 것이다 Page.ClientScript.RegisterOnSubmitStatement

보고 할 수 있습니다.