在下面的代码中,我显示了webapplication中所有站点的列表。我想只显示几个网站,例如100个中的5个,在列表下方我想显示一个链接,将用户重定向到他/她可以查看所有网站的页面。
实现这一目标的最佳方法是什么?任何人都可以提供一些代码吗?
非常感谢。
public static WorkspacesList GetAll()
{
WorkspacesList allWorkspaces = new WorkspacesList();
using (SPSite site = new SPSite("http://sng3sp6d:8888/"))
{
SPWebApplication webApplication = site.WebApplication;
foreach (SPSite siteCollection in webApplication.Sites)
{
try
{
SPWeb website = siteCollection.RootWeb;
if (website.DoesUserHavePermissions(SPBasePermissions.ViewListItems))
{
allWorkspaces.Add(new Workspace(website.Title, website.Url, website.Created));
}
}
finally
{
if (siteCollection != null)
siteCollection.Dispose();
}
}
}
allWorkspaces.Reverse();
return allWorkspaces;
}
答案 0 :(得分:0)
最简单的方法是将网站集列表放在列表中,并使用标准Web部件显示用户有权访问的网站集。然后,您可以限制他们一次看到的项目数。
您还可以动态创建一个包含5行的表,然后只使用前5个网站集填充该表。添加一个名为“查看全部”的按钮,可以转到包含以下内容的页面:
创建一个包含结果的sharepoint列表 - 将所有结果写入列表,然后将列表添加到Web部件页面。我们称之为“/sites/mysite/siteassets/viewsites.aspx”。
对“查看全部”按钮进行编码,将用户带到新页面。您可以将用户ID添加为查询字符串,然后按用户ID过滤“viewsites”页面。
答案 1 :(得分:0)
您是否在WP中显示此信息,然后您可以拥有一个可配置的属性,表示您想要显示多少项目 - 即5
尽管有ForEach,您可以使用For并将其限制为5行。 点击标题后,您可以重定向到另一个页面>具有相同的WP配置为显示所有项目。
和Sandeep
答案 2 :(得分:0)