我创建了2个连接的webpart(提供者/消费者)。我现在想要将提供者插入到我的母版页中,并将消费者插入到页面上的webpart区域中。我发现的每个例子都谈到了通过UI webpart属性区域连接它们。但是,由于1将在主页上,而另一个添加到区域,我没有那么奢侈。有谁知道如何在xml属性中设置这些属性?
例如,我将此自定义webpart作为提供者:
<TeamsiteDropdownlistWebPart:TeamsiteDropdownlistWebPart
runat="server"
XmlQuery=""
Description="My Visual WebPart"
SiteUrl="http://spdev01:25706"
Title="TeamsiteDropdownlistWebPart"
ListName="Teamsite List"
AllowConnect="true"
__MarkupType="vsattributemarkup"
__WebPartId="{e4e8cd86-5b32-46bc-a8dc-341c06354787}"
WebPart="true"
__designer:IsClosed="false" id="g_e4e8cd86_5b32_46bc_a8dc_341c06354787">
</TeamsiteDropdownlistWebPart:TeamsiteDropdownlistWebPart>
我不确定除此之外该怎么做。
提前谢谢!
答案 0 :(得分:0)
我们需要SPLimitedWebPartManager将Web部件与ASP.NET样式接口连接起来。其步骤如下:
您的代码:
SPWeb web = (SPWeb)properties.Feature.Parent;
SPLimitedWebPartManager mgr = web.GetLimitedWebPartManager("default.aspx", PersonalizationScope.Shared);
System.Web.UI.WebControls.WebParts.WebPart provider= mgr.WebParts["TeamsiteDropdownlistWebPart"];
System.Web.UI.WebControls.WebParts.WebPart consumer= mgr.WebParts["ConsumerWebPart"];
ConsumerConnectionPoint addConsumerConnPoint = mgr.GetConsumerConnectionPoints(consumer)["AddressConsumer_ot"];
ProviderConnectionPoint addProviderConnPoint = mgr.GetProviderConnectionPoints(provider)["AddressProvider_ot"];
mgr.SPConnectWebParts(provider, addProviderConnPoint, consumer, addConsumerConnPoint);
这来自http://www.dhirendrayadav.com/2010/06/connecting-web-parts-programmatically.html,似乎是共识。不幸的是,我没有一个香草环境可供测试,