2009-09-18 5 views
1

나는 뭔가를 업데이트하기 위해 텍스트 상자와 저장 버튼을 가지고있다. 저장을 클릭하면 코드 숨김 파일에 올바르게 채워지는지 여부를 결정하는 코드가 있습니다.asp.net에 오류 메시지를 표시하려면 어떻게합니까?

제대로 입력하지 않으면 오류 메시지가 경고 형식으로 표시됩니다.

가장 좋은 방법은 무엇입니까? 버튼을 누르면 분명 페이지 재 게시가되므로 mypage.aspx?errormessage=blahblah과 같은 URL에 뭔가를 추가하는 방법에 대해 생각해 보았습니다. 그러나 이것이 최선의 방법인지, 아니면 어떻게 할 지 모르겠습니다 ...

어떤 제안이 있으십니까?

답변

3

모달 경고가 잘못되었으며 다시 게시됩니다. 서버 왕복없이 클라이언트 쪽에서 가능한 한 많이 확인하십시오. 덜 관여하는 유효성 검사 방법은 jQuery Validation 플러그인을 참조하십시오.

+0

포스트 백에는 유효성 검사 코드를 한 번만 작성해야한다는 이점이 있습니다. 한 번만 변경하십시오. 서버 측 유효성 검사가 클라이언트 측 ~과 다른 결과를 보이는 꽤 많은 웹 응용 프로그램을 보았습니다. – Joey

+0

사실,하지만 JS 인증 코드에서 언제든지 AJAX 요청을 발행 할 수 있습니다. 이것은 사용자 관점에서 포스트 백이 될 수 없습니다. –

+0

아, 미안. 어떻게 든 AJAX 요청을 "포스트 백"에 포함 시켰습니다. 내 잘못이야. – Joey

0

먼저 모달 경고 상자를 사용자에게 표시하는 것을 권장하지 않습니다.

서버 측 코드에서 javascript 함수를 호출 할 수 있으며 해당 함수에서 오류가 발생할 수 있습니다.

또는 AJAX 요청을 발행 할 수 있으며 서버 측의 유효성 검사 후 클라이언트에 응답을 다시 보낼 수 있습니다.

1

CustomValidator를 사용하여 경고 상자를 표시하는 클라이언트 측 스크립트를 트리거 할 수 있습니까?

0

적절한 오류 메시지 및/또는 요약 메시지와 함께 ASP.NET의 다양한 유효성 검사 컨트롤 (클라이언트 측 유효성 검사 사용)이 대부분의 시나리오에 적합합니다.

'AJAX의 느낌과 행동'의 경우 컨트롤을 업데이트 패널에 넣으면 구현하기가 쉽습니다.

0

예전의 Validators를 최대한 많이 사용하면 클라이언트에 javascript가 렌더링되므로 이러한 컨트롤을 사용하여 많은 검증 작업을 수행 할 수 있으며 만족스러운 경우에만 페이지를 제출할 수 있습니다.

제출할 때마다 실행되므로 모든 제출 작업을 실행하지 않으려면 컨트롤을 유효성 검사 그룹의 일부로 만듭니다.

정규 표현식을 사용하여 입력의 유효성을 검사 할 수 있으며 필드에 값이 있는지 확인하고 몇 가지 추가 정보가 있는지 확인할 수 있습니다.

그런 다음 '메시지'를 선언하고 모든 유효성 검사기 메시지를 표시하는 컨트롤이 있습니다. 모두 매우 swish하고 IDE에 내장되어 있습니다.

유효성 검사기 컨트롤을 확인하십시오.

1

당신이

private void ShowErrorMessage(string message) 
{ 
    string script = "alert('" + message + "');"; 
    ClientScript.RegisterStartupScript(typeof(MyPage), "errorScript", script, true); 
} 

같은 자바 스크립트 ('메시지') 경고를 호출 조각, 뭔가를 작성하는 서버 측 오류 처리 코드에서 ClientScript.RegisterStartupScript() 메소드를 사용할 수 있습니다하지만 난 당신을 추천 할 것입니다 대신 유효성 검사기를 사용하십시오. 고유 한 사용자 정의 유효성 검사기를 구현하는 경우 다시 게시를 피하기 위해 제출 전에 실행할 수있는 클라이언트 측 스크립트를 내보낼 수 있습니다.

유효성 검사기에 대한 좋은 점은 해당 오류 메시지가 페이지의 ValidatorSummary에 표시되어 추한 경고 상자를 피할 수 있다는 것입니다.

0

는 버튼 클릭 이벤트에 다음 코드를보십시오 :

string strErr="Error!";//Put your error message here 
ClientScript.RegisterStartupScript(GetType(), "scrptName", "javascript: alert('"+strErr+"'); ", true); 

그것은 경고 메시지를 표시합니다.

그렇지 않으면 aspx 페이지에 레이블을 넣고 page_load 이벤트에서 false를 표시하도록 설정하십시오. 버튼 이벤트에 오류가 발생하면 레이블 표시를 'true'로 설정하고 레이블 텍스트를 오류 메시지로 채 웁니다.

관련 문제