1

我有一个使用 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) 列表视图列未显示排序和过滤选项。

还有其他方法可以在应用程序部分页面内呈现列表视图内容吗?

解决这些问题的任何指示都会有所帮助。提前致谢。

4

0 回答 0