COMO: Registar manualmente anterior para eventos específicos numa página utilizando o Visual Basic .NET .aspx

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 328923
Sumário
Este artigo passo a passo descreve como configurar uma página .aspx para que o código HTML gerado irá registar o servidor em resposta a eventos específicos de um controlo. Para fins de exemplo, este artigo utiliza o controlo de TreeView de controlos Web do Internet Explorer.

A propriedade AutoPostBack

  • true . Quando o AutoPostBack é verdadeiro para um controlo, pode enviar o controlo novamente para o servidor em resposta a eventos que não pretende fazer com que uma nova colocação.

    Por exemplo, definir AutoPostBack como VERDADEIRO na TreeView faz com controlo que uma nova colocação em resposta a estes acontecimentos: onExpand; onCollapse; onCheck; e onSelectedIndexChange.
  • Falso . Definindo o AutoPostBack como FALSE, lançar fazer manualmente em resposta a um evento específico.

Criar o código

Para registar novamente manualmente resposta ao evento onSelectedIndexChange, siga estes passos.
  1. Criar uma aplicação Web e, em seguida, coloque o controlo TreeView numa página .aspx.
  2. Na página .aspx, defina a propriedade AutoPostBack do controlo TreeView como Falso .
  3. Na propriedade nós da TreeView , clique o botão de elipsis (...) colecção e, em seguida, adicionar alguns nós e subordinados à colecção de nós TreeView .
  4. Processar o evento onload para a página HTML e, em seguida, chamar a função initTree . Esta função do lado cliente vai ser gerada no evento Page_Load para a página .aspx.

    Na vista de HTML da página .aspx, adicionar uma rotina de tratamento para o evento onload à tag do body, da seguinte forma:
    <body onload="initTree()">					
  5. Adicione o código seguinte a partir desta função Page_Load a própria função Page_Load na classe de código para o ficheiro .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					

EXPLICAÇÃO o código

Como o código é desenvolvido

O código fornecido neste artigo foi desenvolvido utilizando o seguinte processo:
  • Uma página .aspx foi desenvolvida e AutoPostBack para o controlo TreeView foi definido como true .
  • A página .aspx foi visualizada no browser do Internet Explorer e a origem de foi guardada um ficheiro .HTML.
  • o AutoPostBack para o controlo TreeView foi definida para false e, em seguida, a página foi visualizada novamente no browser.
  • Comparar os dois ficheiros e anotar as diferenças ajudou a produzir o código fornecido neste artigo.

Mais informações sobre o código

  • O código da função Page_Load neste artigo compõe o seguinte código no browser:
    <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>						
    a função initTree é executada quando a página HTML é carregada no browser. A função initTree substitui o evento onSelectedIndexChange de TreeView1 para que o evento onSelectedIndexChange é adicionado à fila de eventos para a página e depois registar para o servidor.
  • A primeira linha da nova função onSelectedIndexChange ,
    if (event.oldTreeNodeIndex != event.newTreeNodeIndex)     this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);						
    é retirado directamente da definição original para a função tal como definido no ficheiro HTML guardado.
  • Definição AutoPostBack para a TreeView para Verdadeiro compõe o seguinte código HTML:
    window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');						
    uma vez que o mecanismo de reposição (neste caso, __doPostBack ) pode ser alterada no futuro, gerar a função no servidor utilizando o seguinte código:
    string strRef = Page.GetPostBackEventReference(TreeView1);					
    a referência de eventos de reposição, em seguida, é utilizada em Page_Load para gerar o evento PostBack no cliente.
Referências
Para obter informações adicionais, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
305140INFO: Plano de ASP.NET

319441COMO: Adicionar dinamicamente nós para um controlo do WebBrowser TreeView utilizando o Visual Basic .NET
Internet Explorer WebControls referência
http://msdn.microsoft.com/en-us/library/ms528669(VS.85).aspx

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 328923 - Última Revisão: 06/25/2003 17:06:43 - Revisão: 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 KbMtpt
Comentários