2010-11-18 10 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(); 
    } 
} 

Wenn ich diesen Web-C# -Code leite, ohne etwas in bittext.Text eingeben, führt dies auf einen FehlerMicrosoft JScript-Laufzeitfehler:

Microsoft JScript-Laufzeitfehler genannt: Sys.WebForms.PageRequestManagerParserErrorException: Der Die vom Server empfangene Nachricht konnte nicht analysiert werden.

Wie kann ich das lösen !!!

Antwort

2

Sie nicht Response.Write() dafür verwenden können, müssen Sie ScriptManager.RegisterStartupScript, wie folgt aus:

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

Response.Write() nur Dumps das Skript-Tag, wenn es in der Antwort ist, die für einen ungültigen/unerwarteten Format macht, wenn die Klient geht es zu analysieren, Sie möchten ein Stück JavaScript richtig ausführen ... oben ist der richtige/zur Verfügung gestellte Mechanismus dafür.

+0

+1, Client erbricht sich auf die Antwort. Zusätzlich könnte er dies lösen, indem er einen RequiredFieldValidator in dieses Formular einfügt und diesen Mist Client-seitig validiert. –

+0

Vereinbaren Sie mit Moo-Juice, sollte diese Validierung nicht auf dem Server sein (gut sollte es sein, aber als Fallback für die clientseitige Validierung). Dies ist jedoch die richtige Antwort. – RPM1984

+0

Danke Sir !!!! Es funktionierte –