gpt4 book ai didi

css - 全局基于许可的导航 Sharepoint Foundation 2010

转载 作者:行者123 更新时间:2023-11-28 13:31:44 25 4
gpt4 key购买 nike

我正在使用 SharePoint Foundation 2010,我想创建一个多级导航。 (类似于发布站点在 SharePoint Standard 中允许的内容。我意识到这可能是使用自定义站点地图提供程序构建的,我已经研究过了。

这里的关键是,我希望它只显示登录用户有权访问的页面和站点。

目前,我已开始开发 Web 部件。在这个 Web 部分中,我编写了一些 C# 代码来循环访问并获取所有站点和子页面(并检查用户是否具有权限),然后将它们添加到标签中。最终我想将它们添加到 asp:menu 或创建一个,然后使用一些 css 或 jquery 来操作它以执行下拉功能。

这是我的一些代码:

using (SPWeb oWebsite = new SPSite(webUrl).OpenWeb())
{
SPWebCollection collWebsite = oWebsite.Webs;

foreach (SPWeb subSite in collWebsite)
{
if (subSite.DoesUserHavePermissions(SPContext.Current.Web.CurrentUser.LoginName, SPBasePermissions.Open))
{
Label1.Text += SPEncode.HtmlEncode(subSite.Title) + "<BR>";
}

SPList pagelist = subSite.Lists["Site Pages"];

foreach (SPListItem item in pagelist.Items)
{
if (item.DoesUserHavePermissions(SPContext.Current.Web.CurrentUser, SPBasePermissions.Open))
{
Label1.Text += item.Name + "<BR>";
}
}

Label1.Text += "<BR><BR>";

subSite.Close();
}

Label1.Text += "<BR><BR><BR><BR>";
}

}

我想在此处创建列表,而不是将站点或页面添加到标签。最终目标是将此 Web 部件放置到母版页上,并允许它根据权限为用户提供一些导航。

我还发现了一些 css 允许多级导航通过简单地添加元素作为

  • 内部来工作 这里唯一的问题是一旦我把它放在母版页上,第二级显示时我将鼠标悬停在第一个元素上,但将鼠标移到那里时会消失。 (当将 Web 部件放置到页面本身时,这非常有效)

    我走的路是否正确,或者是否有其他方法同样有效甚至更好?

    TIA。

  • 最佳答案

     SPSecurity.RunWithElevatedPrivileges(delegate
    {

    SPSite oSiteCollection = SPContext.Current.Site;

    using (SPWeb oWebsite = new SPSite(webUrl).OpenWeb())
    {
    SPWebCollection collWebsite = oWebsite.Webs;

    foreach (SPWeb subSite in collWebsite)
    {
    var newItem = new MenuItem();
    if (subSite.DoesUserHavePermissions(SPContext.Current.Web.CurrentUser.LoginName, SPBasePermissions.Open))
    {
    newItem.NavigateUrl = subSite.Url;
    newItem.Text = SPEncode.HtmlEncode(subSite.Title);
    newItem.Value = SPEncode.HtmlEncode(subSite.Title);
    }

    SPList pagelist = subSite.Lists["Site Pages"];

    foreach (SPListItem item in pagelist.Items)
    {

    if (item.DoesUserHavePermissions(SPContext.Current.Web.CurrentUser, SPBasePermissions.Open))
    {
    var subItem = new MenuItem();
    subItem.Value = SPEncode.HtmlEncode(item.Name);
    subItem.Text = SPEncode.HtmlEncode(item.Name);
    subItem.NavigateUrl = item.Url;
    newItem.ChildItems.Add(subItem);
    }

    }

    mnNAv.Items.Add(newItem);
    subSite.Close();
    }

    }
    });

    关于css - 全局基于许可的导航 Sharepoint Foundation 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13479647/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com