web-dev-qa-db-fra.com

Page.ClientScript.RegisterStartupScript ne montrant pas les messages pour la deuxième fois

J'utilise Page.ClientScript.RegisterStartupScript pour afficher des messages d'alerte. cela fonctionne bien pour le premier message, mais le deuxième message ne s'affichera pas. Bien qu'il traverse le code lors du débogage. 

Ci-dessous le code. Ici seulement Le fichier FiveDot a été chargé avec succès le message est affiché. 

Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('FiveDot File uploaded successfully');", true);
Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('TwoDot File uploaded successfully');", true);

Je dois afficher plusieurs messages d'alerte sur la page Web en fonction de certaines conditions. 

10
Interstellar

Utilisez un type ou une clé différent pour enregistrer le deuxième script en tant que:

Un script client est identifié de manière unique par sa clé et son type . Les scripts avec la même clé et le même type sont considérés comme des doublons. Seulement un un script avec un type et une paire de clés donnés peut être enregistré avec la page . Tenter d’enregistrer un script déjà enregistré ne le fait pas créer une copie du script.

(extrait de MSDN )

ou simplement concaténer les deux chaînes de script.

Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('FiveDot File uploaded successfully'); alert('TwoDot File uploaded successfully');", true);
19
gzaxx

Utilisez des clés différentes

Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('FiveDot File uploaded successfully');", true);
Page.ClientScript.RegisterStartupScript(GetType(), "msgbox1", "alert('TwoDot File uploaded successfully');", true);
5
Zaid Bin Irfan

solution avec plus d'un type modal popup

ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString("N"), "openModal('" + id + "','" + Title + "','" + Message + "');", true);

Le script ci-dessous doit être conservé dans la page maître 

<script type="text/javascript">
    function openModal(id, title, message) {
        $('#' + id + ' .modal-header h4').html(title);
        $('#' + id + ' .modal-body').html(message);
        $('#' + id).modal('show');
    }
</script>

Ici, le paramètre id contient le modal d'amorçage correspondant (par défaut, informations, danger, avertissement, succès)

placez le texte ci-dessous dans la balise de formulaire de la page maître, puis répétez la même chose en remplaçant le nom de classe "modal-primary" par "modal-info", "modal-warning", "modal-dialog", "modal-success", "modal-success" -danger". 

<div class="example-modal">
  <div class="modal modal-primary" id="primaryModal">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
        <span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Modal Primary</h4>
        </div>
        <div class="modal-body">
        <p>One fine body&hellip;</p>
        </div>
        <div class="modal-footer">
        <button type="button" class="btn btn-outline pull-left" data-dismiss="modal">Close</button>
        </div>
      </div>
<!-- /.modal-content -->
    </div>
<!-- /.modal-dialog -->
  </div>
<!-- /.modal -->
</div>
<!-- /.example-modal -->

Dans votre page maître, ajoutez une référence à bootstrap.min.js et bootstrap.min.css.

Cela activera la fenêtre contextuelle du modèle d'amorçage. 

référence: source

1