2009-11-05 8 views
5

fonctionne sur asp.net vs05. Je sais comment montrer popup, dans ma syntaxe ci-dessous je montre une popup quand une page est chargée.Mais je veux montrer cette popup après une action se produire sur le serveur, j'ai un bouton, sous ce bouton événement que je veux faire un peu de travail sur le côté serveur, alors je veux montrer un message pop-up .Ici est ma syntaxe complète qui peut montrer pop-upComment afficher le message contextuel du côté serveur

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled Page</title> 

    <script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script> 

     <script type = "text/javascript"> 

    $(document).ready(function() { 
    $("#message").fadeIn("slow"); 
    $("#message a.close-notify").click(function() { 
     $("#message").fadeOut("slow"); 
     return false; 
    }); 
}); 
</script> 

    <link href="StyleSheet.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div id='message' style="display: none;"> 
    <span>Hey, This is my Message.</span> 
    <a href="#" class="close-notify">X</a> 
</div> 

    </form> 
</body> 
</html> 

Comme la syntaxe ci-dessus, je veux montrer un message pop-up du côté serveur après un événement se .Voici mon ASPX syntaxe:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled Page</title> 

    <script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script> 

     <script type = "text/javascript"> 
    function computeCorrectValue(type parameter) 
    { 

      $(document).ready(function() { 
      $("#message").fadeIn("slow"); 
      $("#message a.close-notify").click(function() { 
       $("#message").fadeOut("slow"); 
       return false; 
      }); 
     }); 


    }  
</script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div> 
    </form> 
</body> 
</html> 

C# syntaxe:

using System; 
using System.Data; 
using System.Configuration; 
using System.Collections; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 

public partial class Default4 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     //want to do some work then want 


     Button1.Attributes.Add("onclick", "javascript:computeCorrectValue(parameter)"); 
    } 
} 

Aidez-moi à afficher un message contextuel après un événement sur le côté serveur.popup doit ressembler à mon premier exemple .i peut montrer un message d'alerte aussi, mais je ne veux pas afficher d'alerte message.url http://stackoverflow.com/questions/659199/how-to-show-popup-message-like-in-stackoverflow je veux la même chose mais veulent montrer après l'événement de serveur.

Répondre

4

Pour une solution low-tech qui maintient le script dans votre modèle de page, vous pouvez ajouter à votre code HTML (cela pourrait aller $(document).ready() à la place):

<script type="text/javascript"> 

var missingInfo = '<%= this.MissingInfo %>' == 'True'; 
if (missingInfo) { 
    alert('Not enough information. Please try again.'); 
} 

</script> 

Et ajouter une propriété protégée à votre :

private bool missingInfo = false; 

protected bool MissingInfo { 
    get { return this.missingInfo; } 
} 

protected void Button1_Click(object sender, EventArgs e) { 
    // Button1 stuff ... 
    // ... then if you want to show the alert 
    this.missingInfo = true; 
} 
10
protected void Button1_Click(object sender, EventArgs e) 
    { 
     ScriptManager.RegisterStartupScript(
      this, 
      this.GetType(), 
      "popup", 
      "alert('hello');", 
      true); 
    } 
+0

+1 Belle solution :) – Somebody

3
string script = string.Format("alert('this is alert');"); 
     ScriptManager.RegisterClientScriptBlock(Page, typeof(System.Web.UI.Page), "redirect", script, true); 
0

Alors que le code d'exemple dans les autres réponses utilisent alerte, qui est juste un exemple. Mettez votre fonction à la place de l'alerte et vous aurez votre popup.

Voici le code de Darin avec votre appel de fonction:

protected void Button1_Click(object sender, EventArgs e) { 
    ScriptManager.RegisterStartupScript(
     this, 
     this.GetType(), 
     "popup", 
     "computeCorrectValue(parameter);", 
     true); 
} 

Bien que je ne suis vraiment pas sûr où vous obtenez le paramètre qui est passé dans votre fonction.

Questions connexes