2010-11-04 4 views
1

J'essaie d'ouvrir cette DIV modale à partir du code derrière mais je reçois un message d'erreur. S'il vous plaît laissez-moi savoir ce qui ne va pas avec cela.Javascript popup

Voici le code .aspx.

<div id="modal" runat="server" style="display:none;"> 
    <asp:Button ID="btnClose" runat="server" Text="Close" onClick="Popup.hide('modal')" CausesValidation="False"/> 
</div> 

code derrière

 if (!Page.ClientScript.IsStartupScriptRegistered("MyScript")) 
     { 
      string confirmbox = "Popup.showModal('modal');return false;"; 
      Page.ClientScript.RegisterClientScriptBlock(GetType(), "MyScript", confirmbox, true); 
     } 
+0

Pourriez-vous s'il vous plaît envoyer ce que le message d'erreur dit? Juste dire que vous en avez un n'est pas très utile. – Brandon

+0

Je reçois "Trop de caractères dans le caractère littéral lors du chargement de la page – nav100

+0

Cela pourrait être un problème avec le script Popup lui-même, FireFox + FireBug pourrait être en mesure d'extraire rapidement cette source d'erreur –

Répondre

0

Pour l'erreur mentionnée par vous

"Too many characters in character literal when loading the page" 

Vous devez utiliser OnClientClick au lieu d'utiliser onClick comme il est un contrôle serveur ASP.NET et non un contrôle HTML5 normal.

Pour le code que vous avez demandé: code pour l'ouverture modale à la page charge code ASPX

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script> 
      function hidePopup() 
      { 
       document.getElementById('modal').close(); 
      } 
     </script> 
</head> 
<body onload="showPopup();"> 
    <form id="form1" runat="server" > 
    <dialog id="modal"> 
    <asp:Button ID="btnClose" runat="server" Text="Close" OnClientClick="hidePopup();return false;"/> 
</dialog> 
    </form> 
</body> 
</html> 

code Derrière .CS code

if (!Page.ClientScript.IsStartupScriptRegistered("MyScript")) 
       { 
        string confirmbox = "function showPopup(){document.getElementById('modal').showModal();}"; 
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", confirmbox, true); 
       } 

Testé sur la version Chrome: 39.0.2171.99 m, ça fonctionne parfaitement.

Avec ce modal, vous pouvez également quitter le popup en utilisant la touche "Echap", au lieu du bouton Fermer également.

Questions connexes