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