ΔΙΑΔΙΚΑΣΙΕΣ: Μη αυτόματη καταχώρηση πίσω για συγκεκριμένα συμβάντα σε μια σελίδα με Visual Basic .NET .aspx

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 328923 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο δημιουργίας μια σελίδα .aspx, έτσι ώστε να καταχωρεί τον κώδικα HTML που δημιουργείται στο διακομιστή ως απάντηση σε συγκεκριμένα συμβάντα ενός στοιχείου ελέγχου. Για παράδειγμα, αυτό το άρθρο χρησιμοποιεί το στοιχείο ελέγχου του Internet Explorer Web στοιχεία ελέγχου TreeView.

Η ιδιότητα AutoPostBack

  • True. Όταν AutoPostBack έχει την τιμή True για ένα στοιχείο ελέγχου, το στοιχείο ελέγχου μπορεί να καταχωρήσει στο διακομιστή ως απόκριση σε συμβάντα που δεν θέλατε να προκαλέσει μια καταχώρηση προς τα πίσω.

    Για παράδειγμα, η ρύθμιση AutoPostBack σε True στο TreeView ελέγχου προκαλεί μια καταχώρηση προς τα πίσω ως ανταπόκριση σε αυτά τα συμβάντα: onExpand; onCollapse; onCheck; και onSelectedIndexChange.
  • FALSE. Ορίζοντας AutoPostBack σε False, θα καταχωρήστε ξανά με μη αυτόματο τρόπο ως απόκριση σε ένα συγκεκριμένο συμβάν.

Δημιουργία του κωδικού

Καταχωρήστε ξανά με μη αυτόματο τρόπο ως απόκριση στο συμβάν onSelectedIndexChange, ακολουθήστε τα εξής βήματα.
  1. Δημιουργία μιας εφαρμογής Web και στη συνέχεια τοποθετήστε τοTreeViewελέγχου σε μια σελίδα .aspx.
  2. Στη σελίδα .aspx, ορίστε τοAutoPostBackη ιδιότητα από τοTreeViewΈλεγχος γιαFALSE.
  3. ΣτοΟι κόμβοιη ιδιότητα τουTreeViewΚάντε κλικ στην καρτέλαΣυλλογήelipsis (...) κουμπιών και κατόπιν προσθέστε μερικές κόμβους και να τοTreeViewσυλλογή κόμβων.
  4. Χειρίζεται τοOnLoadτο συμβάν για τη σελίδα HTML και στη συνέχεια η κλήση τουinitTreeFunction. Θα δημιουργηθούν σε αυτήν τη λειτουργία πλευράς προγράμματος-πελάτη τουPage_Loadτο συμβάν για τη σελίδα .aspx.

    Σε προβολή HTML στη σελίδα .aspx, προσθέστε έναν δείκτη χειρισμού για τοOnLoadσυμβάν με τοbodyετικέτα ως εξής:
    <body onload="initTree()">
    					
  5. Προσθέστε τον ακόλουθο κώδικα από αυτόPage_Loadσυνάρτηση με το δικό σαςPage_Loadλειτουργεί με τοκώδικας πίσωη κλάση του αρχείου .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
    					

Επεξήγηση του κωδικού

Με ποιον τρόπο που αναπτύχθηκε το κώδικα

Ο κώδικας που παρέχονται παραπάνω σε αυτό το άρθρο αναπτύχθηκε χρησιμοποιώντας την ακόλουθη διαδικασία:
  • Μια σελίδα .aspx αναπτύχθηκε καιAutoPostBackγια τοTreeViewστοιχείο ελέγχου έχει οριστείTrue.
  • Στη σελίδα .aspx που προβάλλεται στο πρόγραμμα περιήγησης του Internet Explorer και το αρχείο προέλευσης έχει αποθηκευτεί σε ένα αρχείο .html.
  • AutoPostBackγια τοTreeViewστοιχείο ελέγχου έχει οριστείFALSE, και στη συνέχεια στη σελίδα έχει προβληθεί ξανά στο πρόγραμμα περιήγησης.
  • Σύγκριση δύο αρχείων και λαμβάνοντας υπόψη τις διαφορές σας βοήθησε παράγει τον κώδικα που παρέχονται παραπάνω σε αυτό το άρθρο.

Περισσότερες πληροφορίες σχετικά με τον κωδικό

  • Ο κωδικός από τοPage_Loadλειτουργία σε αυτό το άρθρο αποδίδει τον ακόλουθο κώδικα στο πρόγραμμα περιήγησης:
    <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>
    						
    Για ναinitTreeλειτουργία εκτελείται όταν φορτώνεται η σελίδα HTML στο πρόγραμμα περιήγησης. Για ναinitTreeη λειτουργία αντικαθιστά τιςonSelectedIndexChangeσυμβάν τουTreeView1έτσι, ώστε τοonSelectedIndexChangeσυμβάν προστίθεται στην ουρά συμβάντων για τη σελίδα και στη συνέχεια καταχωρείται στο διακομιστή.
  • Η πρώτη γραμμή του νέουonSelectedIndexChangeFunction
    if (event.oldTreeNodeIndex != event.newTreeNodeIndex) 
        this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);
    						
    λαμβάνεται άμεσα από τον αρχικό ορισμό της συνάρτησης, όπως καθορίζεται στο αρχείο .html αποθηκευμένο.
  • ΡύθμισηAutoPostBackγια το TreeView γιαTrueΑποδίδει τον ακόλουθο κώδικα σε μορφή HTML:
    window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');
    						
    Επειδή ο μηχανισμός επαναδημοσίευσης (στη συγκεκριμένη περίπτωση,__doPostBack) ενδέχεται να αλλάξει στο μέλλον, δημιουργήστε τη συνάρτηση στο διακομιστή χρησιμοποιώντας τον ακόλουθο κώδικα:
    string strRef = Page.GetPostBackEventReference(TreeView1);
    					
    Η αναφορά συμβάντος επαναδημοσίευσης χρησιμοποιείται σεPage_LoadΓια να δημιουργήσετε τοΚαταχώρηση προς τα πίσωσυμβάν του υπολογιστή-πελάτη.

Αναφορές

Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
305140ΠΛΗΡΟΦΟΡΙΕΣ: Χάρτης ASP.NET

319441ΔΙΑΔΙΚΑΣΙΕΣ: Προσθήκη δυναμικά κόμβους σε ένα στοιχείο ελέγχου WebBrowser TreeView με χρήση της Visual Basic .NET
Internet Explorer WebControls αναφοράς
.aspx http://MSDN.Microsoft.com/en-us/library/ms528669 (VS.85)

Ιδιότητες

Αναγν. άρθρου: 328923 - Τελευταία αναθεώρηση: Τρίτη, 21 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Λέξεις-κλειδιά: 
kbhowtomaster kbservercontrols kbmt KB328923 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:328923

Αποστολή σχολίων

 

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