Sharepoint 是否将AllItems.aspx显示为Web部件?
我有一个带有文档库的Sharepoint网站。我已经设置了一些自定义视图,希望用户能够选择他们喜欢的视图。这在“AllItems.aspx”视图中运行良好,即,当我单击Web部件的标题时,它会将我带到一个新页面,该页面似乎是一个“完整”文档库页面 但是,大多数用户将通过选项卡式门户网站进行访问,因此将改为查看“Web部件”视图 我的问题是:有没有办法在Web部件中显示AllItems视图?具体来说,我希望在Web部件中显示漂亮的左侧工具栏(显示我的各种视图)。您可以使用视图的方法 此方法返回一个HTML字符串,您可以在Web部件中显示该字符串。但是要小心,上下文ID有一个bug 我建议使用以下功能手动设置ID:Sharepoint 是否将AllItems.aspx显示为Web部件?,sharepoint,web-parts,sharepointdocumentlibrary,Sharepoint,Web Parts,Sharepointdocumentlibrary,我有一个带有文档库的Sharepoint网站。我已经设置了一些自定义视图,希望用户能够选择他们喜欢的视图。这在“AllItems.aspx”视图中运行良好,即,当我单击Web部件的标题时,它会将我带到一个新页面,该页面似乎是一个“完整”文档库页面 但是,大多数用户将通过选项卡式门户网站进行访问,因此将改为查看“Web部件”视图 我的问题是:有没有办法在Web部件中显示AllItems视图?具体来说,我希望在Web部件中显示漂亮的左侧工具栏(显示我的各种视图)。您可以使用视图的方法 此方法返回一个
public static String RenderAsHtmlWithFix(SPView view, uint id)
{
String html = String.Empty;
if (view != null)
{
html = view.RenderAsHtml();
String ctxIDString;
int ctxID;
GetCtxID(html, out ctxIDString, out ctxID);
if (Int32.TryParse(ctxIDString, out ctxID))
{
html = html.Replace("ctx" + ctxID, "ctx" + id);
html = html.Replace("ctxId = " + ctxID, "ctxId= " + id);
html = html.Replace("CtxNum=\"" + ctxID + "\"", "CtxNum=\"" + id + "\"");
html = html.Replace("FilterIframe" + ctxID, "FilterIframe" + id);
html = html.Replace("titl" + ctxID + "-", "titl" + id + "-");
html = html.Replace("tbod" + ctxID + "-", "tbod" + id + "-");
html = html.Replace("foot" + ctxID + "-", "foot" + id + "-");
html = html.Replace("up('" + ctxID + "-", "up('" + id + "-");
html = html.Replace("img_" + ctxID + "-", "img_" + id + "-");
}
}
return html;
}
private static void GetCtxID(String html, out String ctxIDString, out int ctxID)
{
int idIndex = html.IndexOf("ctxId =");
ctxIDString = String.Empty;
for (int i = idIndex + 7; html[i] != ';'; i++)
{
ctxIDString += html[i];
}
ctxIDString = ctxIDString.Trim();
ctxID = 1;
}