2017-06-20 35 views
0

使用Web服務,我有一個web部件(用戶控制),Kentico中,我需要加載的內容,同時向下滾動頁面預覽樹節點的內容。 對於這一點,我已經寫了AJAX代碼,並試着寫在代碼中的WebMethod背後本身相同的用戶控制和使用父ASPX頁面URL調用它,但網址是動態的,與節點名稱,即在樹中選擇的變化。我試過window.location.href也沒有成功。加載內容(的WebPart在Kentico),而向下滾動,在ASP.Net AJAX和

然後我創建了一個Web服務,並寫道,其中的WebMethod得到的滾動打服務中,我也得到同樣的內容,但現在我不能夠將內容以現有的內容追加。實際上,我想用某種頁面索引或某種方式使用現有代碼(現在我使用了代碼中的特定數字)來加載頁面加載時可能有3行,滾動時總是有3行。代碼段提供如下:

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++; 
        } 
} 

請讓我知道,如果是必要的,在此先感謝您的幫助的任何其他信息!

+0

目前還不清楚問題所在。爲什麼你無法「追加內容」?你一路上有什麼錯誤嗎? – rocky

+0

實際上,一個用戶控件(上面代碼片段中的** EditableDocumentPreview **)在另一個用戶控件(這個用作web部件)內被調用,所以我從Web服務獲取所需的內容,我想要像上面的代碼那樣使用循環來追加它。 否則請給我建議任何其他方式來執行此操作,例如綁定** EditableDocumentPreview **用戶控件以成功調用ajax。 –

回答

0

有一個webpart on the Kentico DevNet Marketplace它已經這樣做了,它被稱爲「無限滾動/延遲加載中繼器」。如果它不完全符合您的需求,請從其中的代碼獲取靈感來創建自己的代碼。我並不是說這樣可以解決你的問題,但它可以讓你在不需要編寫任何代碼的情況下更加靠近。

相關問題