JAK: Ručně účtovat zpět pro konkrétní události v aspx stránku pomocí jazyka Visual Basic.NET

Překlady článku Překlady článku
ID článku: 328923 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento podrobný článek popisuje, jak nastavit aspx stránky tak, aby účtovat zpět na server v kódu HTML, který je generován odpověď na specifické události ovládacího prvku. Například účely tohoto článku používá ovládací prvek Internet Explorer webových ovládacích prvků TreeView.

Vlastnost AutoPostBack

  • PRAVDA. Při AutoPostBack na hodnotu True pro ovládací prvek, může vystavit ovládacího prvku zpět na server v reakci na události, které jste nechtěli způsobit odeslat zpět.

    Například nastavení AutoPostBack na hodnotu True v prvku TreeView ovládací prvek způsobí zpětné odeslání v reakci na tyto události: onExpand; onCollapse; onCheck; a onSelectedIndexChange.
  • NEPRAVDA. Nastavením AutoPostBack na hodnotu False, účtujete zpět ručně v odpověď na určitou událost.

Vytvořit kód

Zaúčtovat ručně dozadu v odpověď onSelectedIndexChange události, postupujte takto.
  1. Vytvoření webové aplikace a potom vložíte Prvek TreeView řízení na stránku ASPX.
  2. Na stránce ASPX nastavte AutoPostBack Vlastnost Prvek TreeView ovládacího prvku NEPRAVDA.
  3. V Uzly Vlastnost Prvek TreeView, klepněte Kolekce elipsis (...) tlačítko a poté přidat některé uzly a dětiPrvek TreeView Kolekce uzlů.
  4. Zpracovat OnLoad události pro stránky HTML a potom volání initTree funkce. Tato funkce na straně klienta bude generován v Page_Load události na stránce ASPX.

    V zobrazení HTML stránka ASPX přidat ovladač pro OnLoad události subjekt značka takto:
    <body onload="initTree()">
    					
  5. Přidejte následující kód z tohoto Page_Load vlastní funkce Page_Load funkce v kódem na pozadí Třída souboru 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
    					

Vysvětlení kódu

Jak je vyvinuta kód

Kód uvedené výše v tomto článku byl vyvinut s využitím Následující postup:
  • Byl vyvinut stránku ASPX a AutoPostBack pro Prvek TreeView ovládací prvek byl nastaven PRAVDA.
  • Na stránce ASPX byl zobrazit v prohlížeči Internet Explorer a zdroj byl uložen do souboru HTML.
  • AutoPostBack pro Prvek TreeView ovládací prvek byl nastaven NEPRAVDA, a potom byl na stránce zobrazit znovu v prohlížeči.
  • Přispěl k porovnání dvou souborů a s ohledem na rozdíly Vytvoření kódu, uvedených výše v tomto článku.

Další informace o kódu

  • Kód z Page_Load vykreslí funkci v tomto článku v následujícím kódu prohlížeč:
    <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>
    						
    Na initTree funkce se spustí při načtení stránky HTML do prohlížeče. Na initTree Funkce lokální změny onSelectedIndexChange události TreeView1 tak, aby onSelectedIndexChange událost je přidána do fronty událostí pro stránku a potom je odeslán zpět na server.
  • První řádek nového onSelectedIndexChange funkce,
    if (event.oldTreeNodeIndex != event.newTreeNodeIndex) 
        this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);
    						
    je převzata přímo z původní definici funkce jako definované v souboru HTML uložený.
  • Nastavení AutoPostBack pro prvek TreeView do PRAVDA vykreslí následující kód v jazyce HTML:
    window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');
    						
    Protože vyvolávají mechanismus (v tomto případě __doPostBack) může v budoucnu změnit, generování na serveru pomocí funkce Pomocí následujícího kódu:
    string strRef = Page.GetPostBackEventReference(TreeView1);
    					
    Událost zpětného odeslání odkazu se pak používá v Page_Load Generovat Zpětné odeslání události na straně klienta.

Odkazy

Další informace získáte naleznete v následujících článcích báze Microsoft Knowledge Base:
305140INFO: PROSTŘEDÍ ASP.NET, přehled

319441 JAK: Dynamicky přidání uzlů do ovládacího prvku WebBrowser TreeView pomocí jazyka Visual Basic.NET
Aplikace Internet Explorer WebControls odkaz
http://msdn.microsoft.com/en-us/library/ms528669 (VS.85) .aspx

Vlastnosti

ID článku: 328923 - Poslední aktualizace: 19. května 2011 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Klíčová slova: 
kbhowtomaster kbservercontrols kbmt KB328923 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:328923

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com