2010-11-18 9 views
0
protected void Button1_Click(object sender, EventArgs e) 
{ 
    if (bittext.Text == "") 
     Response.Write("<script>alert('Enter The value first or press the correct button')</script>"); 
    else 
    { 
     b = double.Parse(bittext.Text); 
     Bytetext.Text = (b/8).ToString(); 
     kbtext.Text = (b/8192).ToString(); 
     mbtext.Text = (b/8388608).ToString(); 
     gbtext.Text = (b/8589934592).ToString(); 
     tbtext.Text = (b/8796093022000).ToString(); 
    } 
} 

내가 bittext.Text에 아무것도 입력하지 않고이 웹 C# 코드를 실행하고있는 경우,이마이크로 소프트의 JScript 런타임 오류 : Sys.WebForms.PageRequestManagerParserErrorException :

마이크로 소프트의 JScript 런타임 오류라는 오류가 발생합니다 서버에서받은 메시지를 구문 분석 할 수 없습니다.

어떻게 해결할 수 있습니까? 당신은이에 대한 Response.Write()을 사용할 수 없습니다

답변

2

,이 같은 ScriptManager.RegisterStartupScript 필요

ScriptManager.RegisterStartupScript(this, GetType(), "alert", 
    "alert('Enter The value first or press the correct button');", true); 

Response.Write() 그냥 잘못된/예기치 않은 형식하게는 응답 때마다 해당 스크립트 태그를 덤프 할 때 클라이언트가 구문 분석을 수행하면 자바 스크립트 조각을 올바르게 실행하려고합니다. 위의 구문은 올바른/제공 된 메커니즘입니다.

+0

+1, 클라이언트가 응답 중 구토 중입니다. 또한 그는이 폼에 RequiredFieldValidator를 추가하고 클라이언트 쪽을 확인함으로써이를 해결할 수 있습니다. –

+0

Moo-Juice에 동의하면이 유효성 검증이 서버에 있어서는 안됩니다 (물론 클라이언트 측 유효성 검증의 대체로 그렇습니다). 그러나 이것이 정답입니다. – RPM1984

+0

고마워요 선생님 !!!! 효과가있다. –

관련 문제