Свойство 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...