在SharePoint 2010中,我如何在运行时添加用户选择的webpart

本文关键字:添加 用户 选择 webpart 运行时 2010 SharePoint | 更新日期: 2023-09-27 18:10:23

我对SharePoint很陌生,有人给了我一个有趣的问题要我解决。我的用户要求每个人都有一个自定义的主页,他们可以轻松地自定义。我所给出的设计是有一个几乎空白的页面,有4个网络部件的空间,以2乘2的方式组织(2个网络部件乘2个网络部件),每个都有一个大的"+"按钮,在巫婆点击选择并添加他们选择的小部件,而不必玩弄丝带。这应该看起来像这样:

http://imageshack.us/photo/my-images/841/homepages.jpg/

现在当用户点击"+"时,将显示一个SharePoint对话框,允许用户从所有可用的web部件中进行选择。选择一个后,主页将刷新,小部件将显示在所选区域中。

我目前正试图降低这个请求的风险,看看是否有可能在给定的时间框架内实现。目前我遇到的问题如下:

  1. 以编程方式获取所有可用的webparts列表以显示在对话框中。
  2. 以编程方式将所选的web部件添加到主页的正确部分,而不需要硬编码web部件的类型(因此当一个新的web部件添加到SharePoint供用户添加时,不需要更改代码)。
我将非常感谢任何关于这方面的帮助或建议。提前感谢,如果问题措辞不当,很抱歉,这是我的第一个堆栈溢出问题!

在SharePoint 2010中,我如何在运行时添加用户选择的webpart

只需要创建一个web部件就可以了。渲染一个大的加号,当用户点击那里时,事件处理程序获得所有可用的webpart,并将其呈现到下拉列表中。其余的很容易,当用户选择一个时,获取它(通过guid/名称等)并将其添加到第一个web部件所在的区域,不要忘记首先从单击的web部件区域中删除加号webpart。这可以使用SPLimitedWebPartManager来实现。

棘手的部分可能是SiteCollection上可用的webpart,但你可以研究一下。

问候,佩德罗