代码之家  ›  专栏  ›  技术社区  ›  Stefan

以编程方式创建SharePoint 2010功能区按钮,不带功能XML

  •  0
  • Stefan  · 技术社区  · 14 年前

    我必须创建一个SharePoint2010功能区元素(选项卡、按钮、组等)。是否有一种方法可以通过SharePointAPI创建此类元素而不使用自定义操作?

    编辑: 我刚发现有可能添加这样的元素( link ):

    SPRibbon r = SPRibbon.GetCurrent(Page);
    r.RegisterDataExtension(/* XmlNode containing ribbon element code */);
    

    另一个解决方法是附加一个自定义Web控件,并将动态控件附加到此“占位符”。

    是否有一种不使用XML节点创建元素的方法?

    1 回复  |  直到 13 年前
        1
  •  1
  •   Andrey Markeev    13 年前

    对于布局页面和Web部件,可以使用 Ribbon Utils for SharePoint 2010 .

    例如,对于布局页面,您需要继承RibbonUtils.RibbonLayoutPage并提供功能区的定义。

    带有自定义功能区选项卡的最简单页面的代码&one button将如下所示:

    public partial class MyRibbonPage : RibbonLayoutsPage
    {
        public override TabDefinition GetTabDefinition()
        {
            return new TabDefinition()
            {
                Id = "TestRibbon",
                Title = "Test",
                Groups = new GroupDefinition[]
                {
                    new GroupDefinition()
                    {
                        Id = "TestGroup",
                        Title = "Test group",
                        Template = GroupTemplateLibrary.SimpleTemplate,
                        Controls = new ControlDefinition[]
                        {
                            new ButtonDefinition()
                            {
                                Id = "TestButton",
                                Title = "Test button",
                                CommandJavaScript = "alert('test!');",
                                Image32Url = "/_layouts/images/lg_ICHLP.gif",
                            }
                        }
                    }
                }
    
            };
        }
    }
    

    您将在codeplex的项目页面上找到更多示例和非常好的文档。

    现在,它是以编程方式为应用程序页和Web部件创建功能区的最简单快捷的方法。