【问题标题】:Showing the list view web part for a list in another site显示另一个站点中列表的列表视图 Web 部件
【发布时间】:2010-10-30 15:06:06
【问题描述】:

我无法使用包含在我的根 Web 应用程序上的 Web 部件中的列表视图来显示文档库的内容。

这是网站结构:

主站点 子站点1 共享文档 子站点2 共享文档

我的 webpart 位于 main_site

在这个 webpart 中,我有一个 Sharepoint ListViewWebPart,我想在其中显示来自 subsite1 的共享文档,但它似乎不起作用。我收到以下错误:

列表不存在

您选择的页面包含一个列表 那不存在。它可能是 被其他用户删除。

奇怪的是,当我调试时,我可以看到 SPList 已正确初始化并包含我的列表元素。然而,在Controls.Add(mylistview) 行,是发生错误的地方。

这是我用来将列表绑定到我的 ListView 的代码:

SPList list = SPContext.Current.Site.AllWebs["subsite1"].Lists["Shared Documents"];

ListView lv = new ListView();
lv.ListId = list.ID.ToString();
lv.ViewId = list.DefaultView.ID.ToString();
lv.DataBind();

this.Controls.Add(lv);

有人对此问题有合乎逻辑的解释和解决方案吗?

【问题讨论】:

    标签: sharepoint listview


    【解决方案1】:

    问题是该列表在另一个站点中。

    可以使用 ListViewWebPart 引用来自同一网站集中另一个网站的列表。您需要使用WebId 属性来执行此操作。这里是a code example

    另一个选项是使用 SharePoint Designer 创建数据视图 Web 部件。这将允许您使用来自另一个站点或 SharePoint Web 服务的列表来提取数据。结果看起来类似于列表视图 Web 部件,并且您可以使用一些强大的功能。这是演示这一点的first blog post I found,应该还有其他几个。

    最后,您可以使用内容查询 Web 部件。您可能已经知道这一点,它实际上更多地用于显示而不是操作数据。

    已编辑以删除不正确的信息。

    【讨论】:

    • 好吧,这就是我害怕的。问题是我想保留“编辑属性、查看属性、发送到……”功能。我仍然可以使用数据视图 Web 部件来拥有这些东西,还是需要大量自定义?提前谢谢
    • 它使用 XSL 转换(如 CQWP)进行渲染,因此您可以获得很多功能。但是,您正在寻找的开箱即用的东西需要一些工作或者是不可能的(我正在考虑“发送到”)。
    • 我想我会寻找更深层次的定制,甚至是完全定制的界面来做到这一点。谢谢提供信息
    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多