2009-07-21 5 views
0

J'utilise le code suivant pour obtenir le SPtemplate nécessaire:
SPListTemplate template = RootWeb.ListTemplates["TaskTemplate"];Comment accéder à un modèle par programmation?

Cependant, cette déclaration jette l'erreur suivante:
Value does not fall within the expected range.

Comment accéder le modèle nommé TaskTemplate?

Répondre

3

En regardant le nom de votre modèle je dirais que c'est votre modèle personnalisé. Pour accéder au modèle personnalisé, vous devez utiliser le code ci-dessous.

//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"]; 
+0

merci cela a fonctionné – Azra

0

Il semble que le modèle de liste que vous essayez d'utiliser n'existe pas. Il y a quelques-unes des choses à regarder:

  1. Créez-vous votre liste dans le site racine (à savoir rootweb)? Si vous créez une liste dans un sous-site, vous devez obtenir le SPListTemplate à partir du même site que celui dans lequel vous créez la liste.

  2. Si vous êtes sûr que vous créez la liste dans la même liste sur lequel vous récupérez le modèle de liste, puis vérifiez que toutes les fonctionnalités contenant la définition de liste avec laquelle vous travaillez ont été activées. Lorsque la fonction est activée, la définition de la liste (c'est-à-dire SPListTemplate) est ajoutée aux modèles de liste disponibles du site actuel. Je suppose que "TaskTemplate" fait référence à la définition intégrée de la liste des tâches SharePoint - s'il s'agit d'une définition personnalisée, ignorez-la. Sinon, le nom correct que vous devez utiliser est "Tâches".

+0

Oups! J'ai raté que "TaskTemplate" était un modèle personnalisé. Voir la réponse de Kusek pour savoir comment récupérer cela. – dariom

Questions connexes