Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Cómo: Registrar manualmente en espera para sucesos específicos en una página utilizando Visual Basic .NET .aspx

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 328923
Resumen
Este artículo paso a paso describe cómo configurar una página .aspx para que el código HTML que se genera se exponer en el servidor en respuesta a eventos específicos de un control. Con fines de ejemplo, en este artículo utiliza el control TreeView de controles Web de Internet Explorer.

La propiedad AutoPostBack

  • es true . Cuando AutoPostBack es True para un control, puede exponer el control nuevo en el servidor en respuesta a eventos que no desea causar una devolución de datos.

    Por ejemplo, al establecer AutoPostBack en True en TreeView control, una devolución de datos en respuesta a estos eventos: onExpand; onCollapse; inicia; y onSelectedIndexChange.
  • es false . Estableciendo AutoPostBack en False, registrar volver manualmente respuesta a un evento específico.

Crear el código

Para registrar protegerlo manualmente respuesta al evento onSelectedIndexChange, siga estos pasos.
  1. Crear una aplicación Web y coloque el control TreeView en una página. aspx.
  2. En la página .aspx, establezca la propiedad AutoPostBack del control TreeView en false .
  3. En la propiedad de nodos de TreeView , haga clic en el botón de puntos suspensivos (...) de la colección y, a continuación, agregar algunos nodos y elementos secundarios a la colección de nodos de TreeView .
  4. Controlar el evento onload de la página HTML y llame a la función initTree . Esta función del lado cliente se generará en el evento Page_Load para la página .aspx.

    En la vista HTML de la página .aspx, agregar un controlador para el evento onload a la etiqueta body como sigue:
    <body onload="initTree()">					
  5. Agregue el código siguiente de esta función Page_Load a su propia función Page_Load de la clase de código subyacente para el archivo .aspx.
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load    Dim strTreeName As String = "TreeView1"    Dim strRef As String = Page.GetPostBackEventReference(TreeView1)    Dim strScript As String = "<script language=""JavaScript""> " & vbCrLf & _        "<!-- " & vbCrLf & _        "	function initTree() { " & vbCrLf & _        "		" & strTreeName & ".onSelectedIndexChange = function() { " & vbCrLf & _        "			if (event.oldTreeNodeIndex != event.newTreeNodeIndex) " & vbCrLf & _        "				this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex & ',' & event.newTreeNodeIndex); " & vbCrLf & _        "			window.setTimeout('" & strRef.Replace("'", "\'") & "', 0, 'JavaScript'); " & vbCrLf & _        "		} " & vbCrLf & _        "	} " & vbCrLf & _        "// --> " & vbCrLf & _        "</script>"    Page.RegisterClientScriptBlock("InitTree", strScript)End Sub					

Explicación del código

Cómo está programado el código

El código proporcionado anteriormente en este artículo se desarrolló mediante el proceso siguiente:
  • Se ha desarrollado una página .aspx y AutoPostBack para el control TreeView se estableció en true .
  • Ha visto la página .aspx en el Explorador de Internet Explorer y el origen se guarda en un archivo .HTML.
  • AutoPostBack para el control TreeView se estableció en false y, a continuación, ha visto la página nuevo en el explorador.
  • Comparar dos archivos y observar las diferencias ayudó a producir el código proporcionado anteriormente en este artículo.

Más información sobre el código

  • El código de la función Page_Load en este artículo presenta el siguiente código en el explorador:
    <script language="JavaScript"><!--     function initTree() {         TreeView1.onSelectedIndexChange = function() {             if (event.oldTreeNodeIndex != event.newTreeNodeIndex)                 this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex & ',' & event.newTreeNodeIndex);             window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');         }     } // --></script>						
    la función initTree se ejecuta cuando se carga la página HTML en el explorador. La función initTree reemplaza el evento onSelectedIndexChange de TreeView1 de modo que el evento onSelectedIndexChange se agrega a la cola de sucesos para la página y, a continuación, se registra en el servidor.
  • La primera línea de la nueva función onSelectedIndexChange ,
    if (event.oldTreeNodeIndex != event.newTreeNodeIndex)     this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);						
    procede directamente de la definición original de la función como se define en el archivo .HTML guardado.
  • Valor de AutoPostBack para TreeView en true representa el código siguiente en HTML:
    window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');						
    como el mecanismo de devolución de datos (en este caso, __doPostBack ) puede cambiar en el futuro, generar la función en el servidor mediante el siguiente código:
    string strRef = Page.GetPostBackEventReference(TreeView1);					
    la referencia de evento de devolución de datos, a continuación, se utiliza en Page_Load para generar el evento PostBack en el cliente.
Referencias
Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
305140INFORMACIÓN: Guía básica de ASP.NET

319441Cómo: Agregar dinámicamente nodos a un control de WebBrowser de TreeView con Visual Basic .NET
Referencia de Internet Explorer WebControls
http://msdn.microsoft.com/en-us/library/ms528669(VS.85).aspx

Warning: This article has been translated automatically

Propiedades

Id. de artículo: 328923 - Última revisión: 06/25/2003 17:06:43 - Revisión: 3.4

Microsoft ASP.NET 1.0, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft ASP.NET 1.1, Microsoft Visual Basic .NET 2003 Standard Edition

  • kbmt kbhowtomaster kbservercontrols KB328923 KbMtes
Comentarios
">type="text/javascript" src="https://c.microsoft.com/ms.js">