Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

AjaxControlToolkit + TabContainer + Lazy Loading

Îåêßíçóå áðü ôï ìÝëïò Harkon. Τελευταία δημοσίευση από το μέλος Harkon στις 08-04-2009, 16:02. Υπάρχουν 0 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-04-2009, 16:02 49966

    AjaxControlToolkit + TabContainer + Lazy Loading

    Καλησπέρα σας,

    εδώ και λίγο καιρό προσπαθώ να ασχοληθώ με web programming μιας και το πεδίο δράσης μου ήταν έως τώρα οι desktop applications.

    Θέλω λοιπόν να χρησιμοποιήσω ένα tabContainer και σε κάθε tab να φορτώνω κάποια data από την database.
    Θα προτιμούσα όμως να μην φορτώνονται όλα εξ αρχής αλλά μόνο όταν κάνει κάποιος κλικ σε ένα άλλο - πλην του αρχικού - tab να "φεύγει" το request και να φορτώνει τα δεδομένα που πρέπει.
    Η τεχνική αυτή από ότι διάβασα καλείται 'lazy loading'. Επίσης θα ήθελα να χρησιμοποιήσω και AJAX προκειμένου να μην γίνεται όλη η σελίδα Post back αλλά μόνο το συγκεκριμένο κομμάτι της.
    Σε μια προσπάθεια να βρω άκρη σε αυτό έπεσα πάνω στον παρακάτω σύνδεσμο http://mattberseth.com/blog/2007/07/how_to_lazyload_tabpanels_with.html
    Επειδή με αυτό που ήθελα να κάνω τελικά δεν τα κατάφερα είπα να κάνω κάτι πιο απλό.

    Έτσι έγραψα το παρακάτω:

    .aspx
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>
        <script type="text/javascript">
        function allakseTab(sender,args){
          
    if (sender.get_activeTabIndex() == 1) {
             __doPostBack('btn1', '');
                            }
            
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <br />
            <div>
            <input id="btn1" runat="server" type="button" style="display:none" onserverclick="kaneKati" />
                <cc1:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0" Height="280px"  OnClientActiveTabChanged="allakseTab()">
                    <cc1:TabPanel ID="TabPanel1" runat="server" HeaderText="TabPanel1">
                        <ContentTemplate>
                            keimeno 1
                        </ContentTemplate>                    
                    </cc1:TabPanel>
                    <cc1:TabPanel ID="TabPanel2" runat="server" HeaderText="TabPanel2">
                        <ContentTemplate>
                            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                                <Triggers>
                                    <asp:AsyncPostBackTrigger ControlID="btn1" />
                                </Triggers>
                                <ContentTemplate>
                                    </asp:label id="lbl" runat="server" visible="false">
                                </ContentTemplate>
                            </asp:UpdatePanel>
                        </ContentTemplate>
                    </cc1:TabPanel>
                </div>
        </form>
    </body>
    </html>

    και aspx.cs

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void kaneKati(object sender, EventArgs e)
        {
            this.lbl.Visible = true;
    
            this.lbl.Text = "oeoeeo";
            
        }
    
            
    }

    ακόμα και αυτό το απλό όμως δεν μου δούλεψε.
    κάτι χάνω και νομίζω πως οφείλεται στις ελειπείς γνώσεις μου στον web progr.

    βλέπετε κάτι το μεμπτό ή έχετε να προτείνετε κάτι διαφορετικό;

    ευχαριστώ


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems