我有一个使用 SharePoint 托管应用程序创建的客户端 Web 部件(应用程序部件),它使用 JavaScript 对象模型(JSOM)从应用程序部件页面内的主机 Web读取并显示自定义列表视图的内容。
我使用 renderAsHtml() 方法来呈现列表视图的内容。
内部 AppPart 页面
<html>
<head>
<title></title>
<SharePoint:ScriptLink Name="MicrosoftAjax.js" runat="server" Defer="False" Localizable="false"/>
<SharePoint:ScriptLink Name="SP.core.js" runat="server" Defer="False" Localizable="false"/>
<SharePoint:ScriptLink Name="SP.js" runat="server" Defer="True" Localizable="false"/>
<SharePoint:ScriptLink Name="core.js" runat="server" />
<script type="text/javascript" src="../Scripts/Custom.js"></script>
</head>
<body>
<div id="divShow"></div>
</body>
</html>
在我的 Custom.js 文件中
var ctx = new SP.ClientContext(appweburl);
var appContextSite = new SP.AppContextSite(ctx, siteUrl);
var web = appContextSite.get_web();
ctx.load(web);
mylist = web.get_lists().getByTitle(listTitle);
ctx.load(mylist);
myview = list.get_views().getByTitle(viewTitle);
ctx.load(myview);
content = myview.renderAsHtml();
ctx.executeQueryAsync(success, fail);
function success() {
$('#divShow').html(content.get_value());
}
function fail(sender, args) {
$("#divShow").html(args.get_message());
}
视图包含一些自定义列以及 OOTB标题列(链接到项目)
我遇到了以下问题;
(a) 对于与 Title 列关联的 List Item 链接,不触发 click 事件。这意味着当前页面不会重定向到特定的项目 ID(不像正常的列表视图行为那样发生)。分页也有同样的问题。
(b) 列表视图列未显示排序和过滤选项。
还有其他方法可以在应用程序部分页面内呈现列表视图内容吗?
解决这些问题的任何指示都会有所帮助。提前致谢。