SharePoint 2013如何使用Web部件连接? (Visual Web部分)

时间:2014-05-01 10:09:06

标签: sharepoint web-parts

我目前正在尝试使用Web部件连接将列表框连接到我的visual webpart。现在我可以找到许多使用用户定义的界面将2个自定义Web部件连接在一起但是找不到我需要的功能示例的示例。

场景1:能够将我的Visual Web部件添加到列表视图并连接它们,以便我的WP是List的使用者,并且当用户在列表视图中单击/选择一行时,我的Web部件将被发送该项目的ID。

场景2:能够将我的Visual Web部件添加到列表显示表单并连接它们,以便我的WP是List项的使用者,并且在表单加载/显示时,列表项的Id将传递给WP。

现在我知道这就是我需要使用数据

[ConnectionConsumer("Parameter", AllowsMultipleConnections = false)]
    public void ThisNameDoesNotMatter(IWebPartParameters provider)
    {
        _provider = provider ;
    }

但不确定我是否应该使用IWebPartParameters,IWebPartRow或IFilterConsumer。

我想我开始怀疑这是否可能,因为我很难找到这个功能的任何例子。

任何帮助都会很棒。

干杯 利

1 个答案:

答案 0 :(得分:0)

好的,所以我找到了我正在寻找的东西,下面是捕获Connection对象的代码

private IWebPartField _provider = null;
    [ConnectionConsumer("Parameter", AllowsMultipleConnections = false)]
    public void ThisNameDoesNotMatter(IWebPartField provider)
    {
        _provider = provider ;
    }

我正在寻找的IWebPartField接口是从另一个webpart中获取一个值(在我的例子中是一个List列字段)。 要获取我需要的字段,如果我的自定义webpart位于列表的显示形式上,我只需从查询字符串中获取它。