Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 如何以编程方式访问模板?_Sharepoint - Fatal编程技术网

Sharepoint 如何以编程方式访问模板?

Sharepoint 如何以编程方式访问模板?,sharepoint,Sharepoint,我正在使用以下代码获取所需的SPtemplate: SPListTemplate=RootWeb.ListTemplates[“任务模板”] 但是,此语句引发以下错误: 值不在预期范围内。 如何访问名为TaskTemplate的模板?通过查看模板的名称,我可以说这是您的自定义模板。要访问自定义模板,您需要使用以下代码 //This gives you only the built-in template or templates deployed using Features foreach (

我正在使用以下代码获取所需的SPtemplate:
SPListTemplate=RootWeb.ListTemplates[“任务模板”]

但是,此语句引发以下错误:
值不在预期范围内。


如何访问名为TaskTemplate的模板?

通过查看模板的名称,我可以说这是您的自定义模板。要访问自定义模板,您需要使用以下代码

//This gives you only the built-in template or templates deployed using Features
foreach (SPListTemplate item in oWeb.ListTemplates)
{
    Console.WriteLine(item.Name);
}

//This gives you the custom template created by you
foreach (SPListTemplate item in oSite.GetCustomListTemplates(oWeb))
{
    Console.WriteLine(item.Name);                        
}
//So for your requirement you need to use
oSite.GetCustomListTemplates(oWeb)["TaskTemplate"];

通过查看模板的名称,我会说这是您的自定义模板。要访问自定义模板,您需要使用以下代码

//This gives you only the built-in template or templates deployed using Features
foreach (SPListTemplate item in oWeb.ListTemplates)
{
    Console.WriteLine(item.Name);
}

//This gives you the custom template created by you
foreach (SPListTemplate item in oSite.GetCustomListTemplates(oWeb))
{
    Console.WriteLine(item.Name);                        
}
//So for your requirement you need to use
oSite.GetCustomListTemplates(oWeb)["TaskTemplate"];

听起来您尝试使用的列表模板不存在。有几件事需要考虑:

  • 您是否正在根站点(即RootWeb)中创建列表?如果要在子站点中创建列表,则应从创建列表的同一站点获取
    SPListTemplate

  • 如果确定要在从中检索列表模板的同一站点中创建列表,请检查是否已激活包含正在使用的列表定义的所有功能。激活该功能后,列表定义(即
    SPListTemplate
    )将添加到当前站点的可用列表模板中

  • 我猜“TaskTemplate”指的是内置的SharePoint任务列表定义-如果是自定义定义,请忽略此项。否则,您应该使用的正确名称是“任务”


  • 听起来您尝试使用的列表模板不存在。有几件事需要考虑:

  • 您是否正在根站点(即RootWeb)中创建列表?如果要在子站点中创建列表,则应从创建列表的同一站点获取
    SPListTemplate

  • 如果确定要在从中检索列表模板的同一站点中创建列表,请检查是否已激活包含正在使用的列表定义的所有功能。激活该功能后,列表定义(即
    SPListTemplate
    )将添加到当前站点的可用列表模板中

  • 我猜“TaskTemplate”指的是内置的SharePoint任务列表定义-如果是自定义定义,请忽略此项。否则,您应该使用的正确名称是“任务”

  • 哎呀!我没有注意到“TaskTemplate”是一个自定义模板。请看库塞克的答案,了解如何检索它。哎呀!我没有注意到“TaskTemplate”是一个自定义模板。请参阅kusek的答案,了解如何检索。