首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式获取自定义模板sharepoint 2010

以编程方式获取自定义模板sharepoint 2010
EN

Stack Overflow用户
提问于 2011-01-27 16:20:14
回答 2查看 6.1K关注 0票数 0

为了获得标准模板,我这样做:

代码语言:javascript
复制
private void getTemplates()
{
    string server = serverURL();
    using (SPSite siteCollection = new SPSite(server))
    {
        SPWebTemplateCollection Templates = siteCollection.GetWebTemplates(1033);
        foreach (SPWebTemplate template in Templates)
        {
                ddlSiteTemplate.Items.Add(new ListItem(template.Title, template.Name));
        }
    }
}

我以为我能做到:

代码语言:javascript
复制
private void getTemplates()
{
    string server = serverURL();
    using (SPSite siteCollection = new SPSite(server))
    {
        SPWebTemplateCollection Templates = siteCollection.GetCustomWebTemplates(1033);
        foreach (SPCustomWebTemplate template in Templates)
        {
                ddlSiteTemplate.Items.Add(new ListItem(template.Title, template.Name));
        }
    }
}

来获取自定义模板,但是下拉列表是空的,我在这里做错了什么?

提前谢谢。

编辑:模板在解决方案库中激活。

EN

回答 2

Stack Overflow用户

发布于 2011-01-27 19:44:41

我得到了它的工作

代码语言:javascript
复制
private void getTemplates()
{
    string server = serverURL();
    using (SPSite siteCollection = new SPSite(server))
    {
        SPWebTemplateCollection Templates = siteCollection.GetAvailableWebTemplates(1033);
        foreach (SPCustomWebTemplate template in Templates)
        {
//this gives me all templates, both standard and custom so I filter by name
if(template.name.ToUpper().StartsWith("CUSTOM"))
{
                ddlSiteTemplate.Items.Add(new ListItem(template.Title, template.Name));
}
        }
    }
}
票数 0
EN

Stack Overflow用户

发布于 2013-03-27 21:34:41

SPSite不包含GetAvailableWebTemplates方法。对于那些想要使用代码的人,请使用下面的代码。所以我添加了这行代码:

代码语言:javascript
复制
 using(SPWeb web = siteCollection.OpenWeb())
    {
                SPWebTemplateCollection Templates = web.GetAvailableWebTemplates(1033);

完整代码:

代码语言:javascript
复制
 private void getTemplates()
    {
        string server = serverURL();
        using (SPSite siteCollection = new SPSite(server))
        {
using(SPWeb web = siteCollection.OpenWeb())
{
            SPWebTemplateCollection Templates = web.GetAvailableWebTemplates(1033);
            foreach (SPCustomWebTemplate template in Templates)
            {
    //this gives me all templates, both standard and custom so I filter by name
    if(template.name.ToUpper().StartsWith("CUSTOM"))
    {
                    ddlSiteTemplate.Items.Add(new ListItem(template.Title, template.Name));
    }
}
            }
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4814066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档