Làm th? nào đ?: Đăng bài b?ng tay tr? l?i cho các s? ki?n c? th? trong m?t .aspx trang b?ng cách s? d?ng Visual Basic.NET

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 328923 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài t?ng bư?c này mô t? cách thi?t l?p m?t .aspx Trang đ? các m? HTML đư?c t?o ra s? đăng l?i cho máy ch? trong ph?n ?ng v?i các s? ki?n c? th? c?a m?t đi?u khi?n. Ví d? như m?c đích, bài vi?t này s? d?ng Internet Explorer Web đi?u khi?n TreeView control.

B?t đ?ng s?n AutoPostBack

  • S? th?t. Khi AutoPostBack là đúng cho m?t đi?u khi?n, b? đi?u khi?n có th? đăng bài Quay l?i máy ch? đ? đáp ?ng v?i các s? ki?n mà b?n không mu?n gây ra m?t postback.

    Ví d?, thi?t l?p AutoPostBack đ?n đúng vào TreeView ki?m soát gây ra m?t postback đ? đáp ?ng v?i nh?ng s? ki?n này: onExpand; onCollapse; onCheck; và onSelectedIndexChange.
  • Sai. B?ng cách đ?t AutoPostBack thành False, b?n đăng bài tr? l?i b?ng tay trong đáp ?ng v?i m?t s? ki?n c? th?.

T?o m?

Đ? đăng bài tr? l?i b?ng tay đ? đáp ?ng v?i onSelectedIndexChange s? ki?n, h?y làm theo các bư?c sau.
  1. T?o m?t ?ng d?ng Web, và sau đó đưa các TreeView đi?u khi?n vào m?t trang .aspx.
  2. Trong .aspx trang, thi?t l?p các AutoPostBack tài s?n c?a các TreeView ki?m soát đ? Sai.
  3. Trong các Các nút tài s?n c?a TreeView, b?m vào các B? sưu t?p elipsis (...) nút, và sau đó thêm m?t s? nút và tr? em đ? cácTreeView b? sưu t?p các nút.
  4. X? l? các onload s? ki?n cho các trang HTML, và sau đó g?i nh?ng initTree ch?c năng. Ch?c năng này bên khách hàng s? đư?c t?o ra trong các Page_Load s? ki?n cho trang .aspx.

    Trong ch? đ? xem HTML c?a các .aspx trang, thêm m?t handler cho các onload s? ki?n đ? các nội dung t? khóa như sau:
    <body onload="initTree()">
    					
  5. Thêm m? sau đây t? đây Page_Load ch?c năng đ? riêng c?a b?n Page_Load ch?c năng trong các M?-đ?ng sau l?p h?c cho các t?p tin .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
    					

Gi?i thích v? các m?

Làm th? nào các m? đư?c phát tri?n

M? đư?c cung c?p trư?c đó trong bài vi?t này đ? đư?c phát tri?n b?ng cách s? d?ng các quy tr?nh sau:
  • M?t trang .aspx đ? đư?c phát tri?n và AutoPostBack Đ?i v?i các TreeView ki?m soát đ? đư?c thi?t l?p S? th?t.
  • .Aspx trang đư?c xem trong tr?nh duy?t Internet Explorer, và m? ngu?n đư?c lưu vào m?t file .html.
  • AutoPostBack Đ?i v?i các TreeView ki?m soát đ? đư?c thi?t l?p Sai, và sau đó các trang đ? đư?c xem m?t l?n n?a trong tr?nh duy?t.
  • So sánh hai t?p tin và ghi nh?n s? khác bi?t đ? giúp s?n xu?t m? đư?c cung c?p trư?c đó trong bài vi?t này.

Thông tin thêm v? các m?

  • M? t? các Page_Load ch?c năng trong bài vi?t này ám m? sau đây trong các tr?nh duy?t:
    <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>
    						
    Các initTree ch?c năng ch?y khi trang HTML đư?c n?p vào tr?nh duy?t. Các initTree ch?c năng ghi đè các onSelectedIndexChange s? ki?n c?a TreeView1 do đó các onSelectedIndexChange s? ki?n s? đư?c thêm vào hàng đ?i s? ki?n cho trang, và sau đó Đăng quay l?i h? ph?c v?.
  • D?ng đ?u tiên c?a các m?i onSelectedIndexChange ch?c năng,
    if (event.oldTreeNodeIndex != event.newTreeNodeIndex) 
        this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);
    						
    đư?c l?y tr?c ti?p t? đ?nh ngh?a g?c cho các ch?c năng như đư?c xác đ?nh trong t?p tin đ? lưu .html.
  • Thi?t l?p AutoPostBack cho TreeView đ? S? th?t hi?n th? h?nh ?nh m? sau trong HTML:
    window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');
    						
    B?i v? các cơ ch? postback (trong trư?ng h?p này, __doPostBack) có th? thay đ?i trong tương lai, t?o ra các ch?c năng trên máy ch? c?a b?ng cách s? d?ng đo?n m? sau:
    string strRef = Page.GetPostBackEventReference(TreeView1);
    					
    Tham kh?o postback s? ki?n sau đó đư?c s? d?ng trong Page_Load đ? t?o ra các PostBack s? ki?n trên máy khách.

THAM KH?O

Đ? bi?t thêm chi ti?t, b?m vào các s? bài vi?t sau đ? xem các bài vi?t trong cơ s? ki?n th?c Microsoft:
305140THÔNG TIN: ASP.L? tr?nh NET

319441 Làm th? nào đ?: T? đ?ng thêm các nút đ? m?t TreeView WebBrowser ki?m soát b?ng cách s? d?ng Visual Basic.NET
Internet Explorer WebControls tham kh?o
http://MSDN.Microsoft.com/en-US/Library/ms528669 (VS.85) .aspx

Thu?c tính

ID c?a bài: 328923 - L?n xem xét sau cùng: 28 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
T? khóa: 
kbhowtomaster kbservercontrols kbmt KB328923 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:328923

Cung cấp Phản hồi

 

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