2011-12-30 46 views
5

Agrego JQuery a mi página web asp.net. No puedo entender el orden de ejecución por completo. escribo el código foolowing para probarlo. En cualquier caso, se ejecutará primero Page_Load de $ (document) ready(), ¿es correcto?

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

<!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></title> 
    <script src="Js/jquery-1.7.1.min.js" type="text/javascript"></script> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      alert('Hell'); 
     }); 
    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    </div> 
    </form> 
</body> 
</html> 



using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Default2 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      Label1.Text = "World"; 
     } 
    } 
} 
+0

El código del lado del servidor debe terminar de ejecutarse para que la página se transmita al cliente (navegador). En este punto, se puede ejecutar el código de cliente (Javascript). – Oded

Respuesta

5

Page_Load es un evento del lado del servidor. $(document).ready() es del lado del cliente.

T Los eventos del servidor que representan la página siempre se ejecutarán primero. Los eventos del servidor pueden ejecutar tiempos adicionales en respuesta a las devoluciones de datos asincrónicas, pero la representación inicial siempre ocurrirá del servidor al cliente, y no al revés.

No existe una relación directa entre los dos eventos, es decir, la existencia de uno realmente no requiere la existencia del otro. Podría escribir una página ASP.NET que procesara el contenido en una secuencia binaria (y, por lo tanto, no tuviera eventos documentales), o podría escribir una página HTML simple que no tuviera código de servidor (y ningún método OnLoad).

1

Si el código de servidor se ejecutará primero y luego el código del lado del cliente .

Cuestiones relacionadas