Share via


SPField.StaticName-Eigenschaft

Dient zum Abrufen oder einen statischen Namen für das Feld festgelegt.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public Property StaticName As String
    Get
    Set
'Usage
Dim instance As SPField
Dim value As String

value = instance.StaticName

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

Eigenschaftswert

Typ: System.String
Eine Zeichenfolge, die den statischen Namen des Felds enthält.

Ausnahmen

Ausnahme Bedingung
NotSupportedException

Das Feld gehört, um eine Liste mit einer externen Datenquelle und der Wert, den Sie versuchen, festgelegt ist nicht identisch mit dem Wert der Eigenschaft InternalName .

Hinweise

Wenn das Feld in einer Liste mit eine externe Datenquelle ist, gibt die StaticName -Eigenschaft immer den Wert der Eigenschaft InternalName zurück. Eine Ausnahme wird ausgelöst, wenn Sie versuchen, die StaticName -Eigenschaft auf einen Wert festlegen, die nicht den Wert der Eigenschaft InternalName identisch ist.

Die von den Eigenschaften StaticName und InternalName zurückgegebenen Werte können Sie andernfalls abweichen. Beachten Sie, dass Sie die StaticName -Eigenschaft festlegen können, während die InternalName -Eigenschaft schreibgeschützt ist.

Der Wert der InternalName -Eigenschaft ist eindeutig innerhalb einer Auflistung dar. Der Wert der StaticName -Eigenschaft ist nicht unbedingt eindeutig.

Beispiele

Das folgende Beispiel ist eine Konsolenanwendung, die die Unterschiede zwischen den Anzeigenamen, statischen Namen und internen Namen eines Felds veranschaulicht. Beachten Sie, dass der Code nur die ersten beiden Namen festgelegt. Interner Name des Felds wird von SharePoint Foundationerstellt.

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

Die folgende Ausgabe wird in der Konsole angezeigt.

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

Press ENTER to continue...

Siehe auch

Referenz

SPField Klasse

SPField-Member

Microsoft.SharePoint-Namespace

TryGetFieldByStaticName(String)