Este artigo passo a passo descreve como configurar uma página .aspx para que o código HTML que é gerado irá postar de volta para o servidor em resposta a eventos específicos de um controle. Para fins de exemplo, este artigo usa o controle TreeView de controles da Web do Internet Explorer.
A propriedade AutoPostBack
true . Quando AutoPostBack é verdadeiro para um controle, o controle pode postar volta para o servidor em resposta a eventos que você não quiser fazer com que um postback.
Por exemplo, a definição AutoPostBack como True em TreeView controle causa um postback em resposta a esses eventos: onExpand; onCollapse; onCheck; e onSelectedIndexChange.
false . Definindo AutoPostBack como False, você lançar fazer manualmente em resposta a um evento específico.
Criar o código
Para lançar fazer manualmente em resposta ao evento onSelectedIndexChange, execute essas etapas.
Crie um aplicativo da Web e colocar o controle TreeView em uma página .aspx.
Na página .aspx, defina a propriedade AutoPostBack do controle TreeView para False .
Na propriedade nós de TreeView , clique em botão coleção elipsis (...) e adicione alguns nós e filhos para a coleção de nós de TreeView .
Manipular o evento onload para a página HTML e, em seguida, chamar a função initTree . Esta função do lado do cliente será gerada no evento Page_Load para a página .aspx.
No modo de exibição HTML da página .aspx, adicione um manipulador para o evento onload à marca body da seguinte maneira:
<body onload="initTree()">
Adicione o seguinte código dessa função Page_Load para sua própria função Page_Load na classe code-behind para o arquivo .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 sobre o código
Como o código é desenvolvido
O código fornecido neste artigo foi desenvolvido usando o seguinte processo:
Uma página .aspx foi desenvolvida e AutoPostBack do controle TreeView foi definido como True .
A página .aspx foi exibida no navegador Internet Explorer e a fonte foi salva um arquivo .HTML.
AutoPostBack do controle TreeView foi definida como False , e em seguida, a página foi exibida novamente no navegador.
Comparando os dois arquivos e observar as diferenças ajudaram a produzir o código fornecido neste artigo.
Para mais informações sobre o código
O código da função Page_Load neste artigo processa o código a seguir no navegador:
a função initTree é executado quando a página HTML é carregada no navegador. A função initTree substitui o evento onSelectedIndexChange do TreeView1 para que o evento onSelectedIndexChange é adicionado à fila de eventos para a página e, em seguida, é remetido de volta para o servidor.
A primeira linha da nova função onSelectedIndexChange ,
if (event.oldTreeNodeIndex != event.newTreeNodeIndex)
this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);
é obtido diretamente da definição do original para a função conforme definido no arquivo .HTML salvo.
Configuração AutoPostBack para TreeView como True processa o código a seguir em HTML:
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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 328923
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.