Поделиться через


Свойство SPField.StaticName

Получает или задает имя статического поля.

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Property StaticName As String
    Get
    Set
'Применение
Dim instance As SPField
Dim value As String

value = instance.StaticName

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

Значение свойства

Тип: System.String
Строка, содержащая имя статического поля.

Исключения

Исключение Условие
NotSupportedException

Список, содержащий внешний источник данных принадлежит поле и значение, которое вы пытаетесь установить не так же, как значение свойства InternalName .

Замечания

Если поле в список, содержащий внешний источник данных, свойство StaticName всегда возвращает значение свойства InternalName . Исключение при попытке задать свойство StaticName в значение, которое отличается от значения свойства InternalName .

В противном случае значения, возвращаемые свойства StaticName и InternalName может быть различным. Обратите внимание, что можно задать свойство StaticName , в то время как свойство InternalName доступно только для чтения.

Значение свойства InternalName является уникальным в пределах коллекции полей. Значение свойства StaticName не обязательно уникален.

Примеры

Следующий пример является консольным приложением, которое иллюстрирует различия между отображаемое имя, имя статического и внутреннее имя поля. Обратите внимание, что код устанавливает только первые два имени. Внутреннее имя поля, созданных 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

В консоли приложение выведет следующие данные:

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

Press ENTER to continue...

См. также

Справочные материалы

SPField класс

Элементы SPField

Пространство имен Microsoft.SharePoint

TryGetFieldByStaticName(String)