2010-06-04 4 views
0

J'ai la boîte de message suivante dans C# sur ma page asp.net à l'intérieur de l'événement btnSubmit_Click. Il a tendance à faire un popup parfois et ne pas apparaître parfois. Des raisons pour lesquelles ce n'est pas cohérent?Problèmes avec l'affichage de la boîte de message dans asp.net

ClientScript.RegisterStartupScript(
    GetType(), 
    "alert", 
    "alert('An email has been sent to Customer Service');", 
    true); 
+0

Avez-vous vérifié le javascript est dans la source de la page émise? Si oui, pouvez-vous vérifier l'état des erreurs de script dans votre navigateur? Qu'est-ce-qu'ils disent? –

+0

pas sûr de ce que vous voulez dire par là, Anthony. – user279521

+1

1) Vérifiez les conditions dans votre code .NET pour le moment où vous affichez le message. Les conditions, sur la publication, etc. Ensuite, regardez la source HTML de la page et vérifiez que votre script de démarrage est là. 2) Si vous utilisez IE, vérifiez la présence d'erreurs de script dans la barre d'état. Si vous utilisez un autre navigateur comme Firefox, vérifiez la console d'erreur. –

Répondre

1

Je suppose que cela dépendra du texte que vous mettez à l'intérieur du alert. Dans l'exemple fourni, le texte est codé en dur mais je suppose que dans votre application réelle, ce texte est dynamique et peut contenir des caractères qui ne respectent pas le javascript, tels que '. Essayez d'utiliser FireBug pour voir s'il y a des erreurs javascript quand cela ne fonctionne pas.

+0

non. Pas de texte dynamique. – user279521

+0

@utilisateur, étant donné que le côté javascript côté client est volatile, il pourrait y avoir des erreurs avec votre script * ou avec d'autres scripts présents sur la page * qui pourraient faire en sorte que votre fenêtre d'alerte n'apparaisse pas. Vérifiez les informations d'erreur. –

0

Avez-vous vérifié, si la ligne alert('An email has been sent to Customer Service'); est dans la source HTML après avoir cliqué sur le bouton et que le message n'apparaissait PAS?

Si ce n'est pas dans le code HTML, vérifiez:

  1. avec le Debugger si votre codeblock est frappé
  2. vous redirigez peut-être la réponse?
0

essayer ces popups à la place java de type directement dans l'interface graphique de VisualStudio

sur un bouton aller à la propriété "OnClientClick" (ce ne est pas dans des événements *) là-bas Type:

return confirm('are you sure?') 

il va mettre une boîte de dialogue avec annuler les boutons OK transparent sur la page en cours si l'annulation est pressée aucune postback ne se produira. Toutefois, si vous ne souhaitez que type bouton ok:

alert ('i told you so') 

Les événements comme côté onclick serveur de travail qu'ils exécutent votre code, alors que OnClientClick fonctionne sur le côté du navigateur. l'on retrouve le plus proche d'une boîte de dialogue de base

que ce code est si petit qu'il devrait fonctionner à moins qu'ils aient vraiment étranges clients navigateur