Partager via


SPField.StaticName - Propriété

Obtient ou définit un nom pour le champ statique.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Property StaticName As String
    Get
    Set
'Utilisation
Dim instance As SPField
Dim value As String

value = instance.StaticName

instance.StaticName = value
public string StaticName { get; set; }

Valeur de propriété

Type : System.String
Chaîne qui contient le nom du champ statique.

Exceptions

Exception Condition
NotSupportedException

Le champ appartient à une liste qui a une source de données externe et la valeur que vous essayez de définir n'est pas identique à la valeur de la propriété InternalName .

Remarques

Si le champ est dans une liste qui a une source de données externe, la propriété StaticName retourne toujours la valeur de la propriété InternalName . Une exception est levée si vous essayez de définir la propriété StaticName à une valeur qui n'est pas identique à la valeur de la propriété InternalName .

Dans le cas contraire, les valeurs retournées par les propriétés StaticName et InternalName peuvent être différents. Notez que vous pouvez définir la propriété StaticName alors que la propriété InternalName est en lecture seule.

La valeur de la propriété InternalName est unique au sein d'une collection de champs. La valeur de la propriété StaticName n'est pas nécessairement unique.

Exemples

L'exemple suivant est une application console qui illustre les différences entre d'un champ nom complet, nom statique et nom interne. Notez que le code définit uniquement les deux premiers noms. Le nom du champ interne est créé par SharePoint Foundation.

using System;
using Microsoft.SharePoint;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("https://localhost"))
            {
                using (SPWeb web = site.RootWeb)
                {
                    string strDisplayName = "My Custom Field";
                    string strStaticName = "MyStaticName";

                    SPField field = web.Fields.TryGetFieldByStaticName(strStaticName);

                    if (field == null)
                    {
                        string strInternalName = web.Fields.Add(strDisplayName, SPFieldType.Text, false);
                        field = web.Fields.GetFieldByInternalName(strInternalName);

                        field.StaticName = strStaticName;
                        field.Update();
                    }

                    Console.WriteLine("Title: {0}", field.Title);
                    Console.WriteLine("Internal name: {0}", field.InternalName);
                    Console.WriteLine("Static name: {0}", field.StaticName);
                }
            }
            Console.Write("\nPress ENTER to continue...");
            Console.ReadLine();
        }
    }
}
Imports System
Imports Microsoft.SharePoint

Namespace ConsoleApp
    Friend Class Program
        Shared Sub Main(ByVal args() As String)
            Using site As New SPSite("https://localhost")
                Using web As SPWeb = site.RootWeb
                    Dim strDisplayName As String = "My Custom Field"
                    Dim strStaticName As String = "MyStaticName"

                    Dim field As SPField = web.Fields.TryGetFieldByStaticName(strStaticName)

                    If field Is Nothing Then
                        Dim strInternalName As String = web.Fields.Add(strDisplayName, SPFieldType.Text, False)
                        field = web.Fields.GetFieldByInternalName(strInternalName)

                        field.StaticName = strStaticName
                        field.Update()
                    End If

                    Console.WriteLine("Title: {0}", field.Title)
                    Console.WriteLine("Internal name: {0}", field.InternalName)
                    Console.WriteLine("Static name: {0}", field.StaticName)
                End Using
            End Using
            Console.Write(vbLf & "Press ENTER to continue...")
            Console.ReadLine()
        End Sub
    End Class
End Namespace

L'application imprime la sortie suivante sur la console.

Title: My Custom Field
Internal name: My_x0020_Custom_x0020_Field
Static name: MyStaticName

Press ENTER to continue...

Voir aussi

Référence

SPField classe

SPField - Membres

Microsoft.SharePoint - Espace de noms

TryGetFieldByStaticName(String)