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...