de la propiedad SPField.StaticName
Obtiene o establece un nombre para el campo estático.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Property StaticName As String
Get
Set
'Uso
Dim instance As SPField
Dim value As String
value = instance.StaticName
instance.StaticName = value
public string StaticName { get; set; }
Valor de propiedad
Tipo: System.String
Una cadena que contiene el nombre del campo estático.
Excepciones
Excepción | Condición |
---|---|
NotSupportedException | El campo pertenece a una lista con un origen de datos externo y el valor que intenta establecer no es el mismo que el valor de la propiedad InternalName . |
Comentarios
Si el campo está en una lista con un origen de datos externo, la propiedad StaticName siempre devuelve el valor de la propiedad InternalName . Se produce una excepción si se intenta establecer la propiedad StaticName en un valor que no es el mismo que el valor de la propiedad InternalName .
De lo contrario, los valores devueltos por las propiedades StaticName y InternalName pueden ser diferentes. Tenga en cuenta que puede establecer la propiedad StaticName , mientras que la propiedad InternalName es de sólo lectura.
El valor de la propiedad InternalName es único dentro de una colección de campos. El valor de la propiedad StaticName no es necesariamente único.
Ejemplos
En el siguiente ejemplo es una aplicación de consola que ilustra las diferencias entre el nombre para mostrar, nombre estático y nombre interno de un campo. Tenga en cuenta que el código establece sólo los dos primeros nombres. El nombre del campo interno se crea mediante 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
La aplicación imprime el siguiente resultado en la consola.
Title: My Custom Field
Internal name: My_x0020_Custom_x0020_Field
Static name: MyStaticName
Press ENTER to continue...