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

Si j'exécute ce code Web C# sans entrer quoi que ce soit dans bittext.Text, cela jette une erreur nomméeErreur d'exécution Microsoft JScript:

Erreur d'exécution Microsoft JScript: Sys.WebForms.PageRequestManagerParserErrorException: Le message reçu du serveur n'a pas pu être analysé.

Comment puis-je résoudre ceci !!!

Répondre

2

Vous ne pouvez pas utiliser Response.Write() pour cela, vous avez besoin ScriptManager.RegisterStartupScript, comme ceci:

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

Response.Write() décharges juste que balise script chaque fois qu'il est dans la réponse, ce qui en fait un format non valide/inattendu lorsque le le client va l'analyser, vous voulez exécuter correctement un morceau de JavaScript ... ci-dessus est le mécanisme correct/fourni pour le faire.

+0

+1, le client vomit sur la réponse. De plus, il pourrait résoudre ce problème en ajoutant un RequiredFieldValidator sur ce formulaire et en validant ce côté client de la merde. –

+0

D'accord avec Moo-Juice, cette validation ne devrait pas être sur le serveur (eh bien il devrait l'être, mais comme un moyen de secours pour la validation côté client). Cependant, ceci est la bonne réponse. – RPM1984

+0

Merci monsieur !!!! Ça a marché –

Questions connexes