2009-11-05 17 views
5

trabajo en asp.net vs05. Sé cómo mostrar ventana emergente, en mi sintaxis inferior muestro una ventana emergente cuando una página está cargada. Pero quiero mostrar esta ventana emergente después de que ocurra alguna acción en el servidor, tengo un botón, bajo este botón quiero hacer algo de trabajo. en el lado del servidor, entonces yo quiero mostrar un mensaje emergente .Aquí es mi sintaxis completa que puede mostrar emergenteCómo mostrar el mensaje emergente desde el lado del servidor

<%@ 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> 

al igual que la sintaxis anterior quiero mostrar un mensaje emergente del lado del servidor después de producirse algún evento .Aquí es mi aspx sintaxis:

<%@ 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> 

sintaxis de C#:

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)"); 
    } 
} 

Ayudarme a mostrar el mensaje emergente después de que ocurra algún evento en el lado del servidor.popup debe verse como mi primer ejemplo .i también puede mostrar un mensaje de alerta, pero no quiero mostrar la alerta message.url http://stackoverflow.com/questions/659199/how-to-show-popup-message-like-in-stackoverflow quiero lo mismo pero quiero mostrar después del evento del servidor.

Respuesta

4

Para una solución de baja tecnología que mantiene la secuencia de comandos en su plantilla de página, se puede añadir a su HTML (esto podría ir en $(document).ready() lugar):

<script type="text/javascript"> 

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

</script> 

Y añadir una propiedad protegida a su página :

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 Buena solución :) – Somebody

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

Mientras que el código de ejemplo en las otras respuestas están utilizando alerta, esto es sólo un ejemplo. Ponga su función en lugar de alerta y tendrá su ventana emergente.

Aquí es el código de Darin con su llamada a la función:

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

Aunque realmente no estoy seguro de que usted está recibiendo el parámetro que se pasa en su función.

Cuestiones relacionadas