ScriptManager.RegisterStartUpScript(...) ne fonctionne pas

J'ai utilisé cette commande depuis que j'ai commencer mon nouveau projet sur ImageButton_Click Événement, et il du travail parfait à chaque page que je suis en utilisant ceci: j'ai d'abord, vérifier si un champ est vide si oui, puis-je envoyer cette alert.

ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('No Empty fields are allowed.');", true);  

Ce que je fais ici: j'ai 2 textboxes que je tape deux dates, ces dates sont utilisés pour remplir mon reportviewer, mais avant, il va à la reportviewer, j'ai vérifier si il est empty ou pas.

Dans cette page, c'est le fait de travailler uniquement dans la première fois que j'appuie sur le bouton. J'ai utilisé un point d'arrêt, et c'est en passant OK à travers mon conditionnelle IF, mais ce n'est pas en affichant le message... Pourquoi?
Code complet sur un Button_Click Event:

 if (Txt_Dt_Final.Text == "" || Txt_Dt_Inicial.Text == "")
     {
        ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('No Empty fields are allowed.');", true);
        Txt_Dt_Inicial.Focus();
        return;
     }

Mise à JOUR
En fait, après je le presse pour la première fois, rien ne fonctionne plus... Même si je tape une date valide, il ne fonctionne pas... je l'ai testé aujourd'hui et, l'erreur n'apparaît, si l'erreur hapens la première fois que vous appuyez sur le bouton.
par exemple:
Si je tape les dates OK, alors mon reportviewer sera de retour moi le résultat de mon rapport... Puis je clique sur le bouton avec les zones de texte, il fera feu de l'erreur et de me montrer le message. Si je presse encore, il fonctionnera très bien !

Maintenant, si j'appuie sur le bouton avec des champs vides pour la première fois, le bouton ne fonctionne plus ! Il venait tout juste de rentrer de travail si j'ai actualiser la page... Pourquoi ? o.O
Toutes mes autres pages sont travail parfait.

Est le bouton image à l'intérieur d'un panneau de mise à jour?
Oui, il est.
La seule chose que je vois que je ferais de différent est l'utilisation d'un IDENTIFIANT unique pour le script clé ScriptManager.RegisterStartupScript(ce.Page, cette.Page.GetType(), Guid.NewGuid().ToString(), "alert('Pas de champs Vides sont autorisés.');", true); Peut-être que le script de mise en cache
Si tout le reste échoue, vous pouvez toujours utiliser le .net RequiredFieldValidators sur votre page
Il semble que vous ayez à vous inscrire le script de chaque publication. Je ne comprends pas pourquoi, parce que le script semble être mis en deux fois. aimerais savoir la bonne/élégant réponse.

OriginalL'auteur Ghaleon | 2013-04-18