SharePoint在页面上显示带有多个webpart的功能区

Gee*_*vdC 4 sharepoint ribbon sharepoint-2010 sharepoint-clientobject

我创建了一个sharepoint页面,其中包含xslt webpart和与该问题无关的第二个webpart

当我们添加第二个webpart时,会隐藏功能区栏,您必须单击webpart才能再次显示功能区栏.单击webpart不是我们可以向用户询问的内容,因此我尝试使用xslt listview webpart的上下文始终显示功能区栏.

在搜索此问题时,我发现当您在SharePoint源代码中使用反射器搜索此隐藏的功能区行为时,似乎这是由Microsoft设计的行为,如下例所示:

public override bool Visible { 
get {
if (!this.SingleWebPartPresentOnPage)
return false;
else
return base.Visible; 
} 
}
Run Code Online (Sandbox Code Playgroud)

有同样问题但没有解决方案的人:http://www.glynblogs.com/2011/02/list-view-selector-missing-with-multiple-web-parts-in-sharepoint-2010.html

是否可以使用服务器端代码强制使用功能区栏,或者可以在单击webpart显示功能区栏时调用正在使用的javascript代码?

我认为应该可以使用javascript,因为如果你单击xslt webpart,功能区是可见的,但我无法重现正在执行的代码.

Tho*_*ans 6

您可以使用JavaScript重新选择XSLTListViewWebPart,再次显示功能区.

$(document).ready(function() { 
    var target = document.getElementById("MSOZoneCell_WebPartWPQ2"); 
    if(target != null) { 
        var fakeEvent = new Array();
        fakeEvent["target"] = target;
        fakeEvent["srcElement"] = target;
        WpClick(fakeEvent); 
    } 
 });
Run Code Online (Sandbox Code Playgroud)