我在 Kentico 中有一个 webpart(用户控件),我需要在其中加载内容,同时向下滚动页面以预览树节点的内容。 为此,我已经编写了 AJAX 代码,并尝试在同一用户控件背后的代码中编写 WebMethod,并使用父 ASPX 页 url 调用它,但该 url 是动态的,并且随着树中选择的节点名称而变化。我也尝试过window.location.href
但没有成功。
然后我创建了一个 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++;
}
}
如果需要任何其他信息,请告诉我,并提前感谢您的帮助!
Kentico DevNet Marketplace 上有一个 webpart 已经这样做了,它被称为"无限滚动/延迟加载中继器"。 如果它不完全是你所需要的,从其中的代码中获取灵感来制作你自己的代码。 我并不是说这会解决您的问题,但它可以让您更接近而无需编写任何代码。