2009-07-09 4 views
3

Je veux rendre une requête CAML semi-intelligente - en ce sens que je peux lui donner un titre (ce que voit l'utilisateur final) et elle recherche le titre approprié "passer dans le cadre de la requête CAML:Différence entre StaticName et InternalName (dans la classe SPField)

var caml = "<OrderBy><FieldRef Name='" + field + "'/></OrderBy>"; 

On dirait que je peux parcourir la collection les champs de la liste à l'aide du modèle d'objet et la clé puis hors de la propriété Titre de comparer avec ce que l'utilisateur voit. Ma question réside dans l'utilisation de StaticName versus InternalName. Mon intestin + la documentation MSDN semblent indiquer que InternalName est la bonne propriété à utiliser et remplacer le champ dans le code ci-dessus - en particulier parce que InternalName ne peut pas être modifié.

Quelqu'un peut-il nous éclairer à ce sujet?

Répondre

7

vérifier cette question sur les forums msdn:

Name Vs. Static Name

Lors de la création des colonnes de site dans CAML, seul attribut "Nom" est nécessaire qui mappe SPField.InternalName dans le modèle d'objet, vous n'avez pas besoin de définir l'attribut StaticName. En conséquence, SPField.InternalName et SPField.StaticName renverront la même valeur. Toutefois, si vous définissez l'attribut StaticName dans CAML, SPField.InternalName renvoie la valeur spécifiée dans l'attribut Name et SPField.StaticName renvoie la valeur spécifiée dans l'attribut StaticName.

Questions connexes