2017-06-20 2 views
0

J'ai un webpart (contrôle utilisateur) dans Kentico dans lequel j'ai besoin de charger du contenu tout en faisant défiler la page vers prévisualiser le contenu d'un nœud d'arbre. Pour cela, j'ai déjà écrit du code AJAX et essayé d'écrire le WebMethod dans le code derrière le même contrôle utilisateur et je l'appelle en utilisant l'URL de page ASPX parent mais l'URL est dynamique et change avec le nom de noeud sélectionné dans l'arbre . J'ai essayé avec window.location.href aussi mais sans succès.Charger du contenu dans un contrôle utilisateur (Webpart dans Kentico) tout en défilant, en utilisant le service Web dans ASP.Net et AJAX

Ensuite, j'ai créé un service Web et j'ai écrit ce WebMethod dans le service qui est touché sur le parchemin et j'obtiens aussi du contenu mais maintenant je n'ai pas pu ajouter le contenu au contenu existant. En fait, je veux utiliser le code existant en quelque sorte avec un index de page ou quelque chose (pour l'instant j'ai utilisé des chiffres spécifiques dans le code) pour charger peut être 3 lignes au chargement de la page et 3 lignes tout en défilant. L'extrait de code est fourni ci-dessous:

foreach (DataRow row in dtSortedDocRows.AsEnumerable()){ 

        int rowNumber = int.Parse(row["RowNumber"].ToString()); 

        if (rowNumber >= 0 && rowNumber <= 2) 
        { 
         TreeNode document = TreeNode.New(row); 

         EditableDocumentPreview edp = (EditableDocumentPreview)Page.LoadControl("~/EditableDocumentPreview.ascx"); 
         edp.Document = document; 
         // plcContainer manages child controls' viewstate by ID, so set them to be node-specific. 
         // (Not document-specific -- due to linked documents, one document might be associated with multiple edps.) 
         edp.ID = "edp_" + document.NodeID; 
         plcContainer.Controls.Add(edp); 

         ChildCount++; 
        } 
} 

S'il vous plaît laissez-moi savoir si toute autre information est nécessaire et merci pour l'aide à l'avance!

+0

On ne sait pas quel est le problème. Pourquoi êtes-vous incapable d'ajouter le contenu? Avez-vous des erreurs en cours de route? – rocky

+0

En fait, un contrôle utilisateur (** EditableDocumentPreview ** dans l'extrait de code ci-dessus) est appelé dans l'autre contrôle utilisateur (celui-ci est utilisé en tant que partie Web) et je reçois le contenu requis du service Web, Je veux que cela s'ajoute comme le code ci-dessus qui est fait en utilisant une boucle. Sinon, veuillez me suggérer une autre façon de faire ceci comme lier le contrôle utilisateur ** EditableDocumentPreview ** sur le succès de l'appel ajax. –

Répondre

0

Il y a un webpart on the Kentico DevNet Marketplace qui fait déjà cela, il s'appelle "Infinite Scroll/Lazy Load Repeater". Si ce n'est pas exactement ce dont vous avez besoin, inspirez-vous du code pour créer le vôtre. Je ne dis pas que cela va résoudre votre problème, mais cela vous permettra de vous rapprocher sans avoir à écrire de code.