Compartilhar via


LinkFieldValue classe

Uma classe de valor de campo de um objeto LinkField que representa uma marca < A > e atributos de chave específicos para essa marca.

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.Publishing.Fields.HtmlTagValue
    Microsoft.SharePoint.Publishing.Fields.LinkFieldValue

Namespace:  Microsoft.SharePoint.Publishing.Fields
Assembly:  Microsoft.SharePoint.Publishing (em Microsoft.SharePoint.Publishing.dll)

Sintaxe

'Declaração
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class LinkFieldValue _
    Inherits HtmlTagValue
'Uso
Dim instance As LinkFieldValue
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class LinkFieldValue : HtmlTagValue

Comentários

Esse objeto de valor envolve uma cadeia de caracteres HTML para um hiperlink e permite aos usuários obter e definir propriedades do objeto de determinado valor e, em seguida, obter o < > marca HTML markup string resultante. Se a propriedade NavigateUrl não tem um valor, o método ToString retorna uma seqüência vazia. Em outros casos, o método ToString retorna uma cadeia de caracteres HTML que contém uma marca < A >. Somente determinadas propriedades são reconhecidas no < A > e < IMG > marcas e usado para gerar a seqüência de caracteres HTML.

Propriedades reconhecidas para < uma > marca:

  • href (obrigatório)

  • title

  • target (apenas blank"é permitido)

Propriedades reconhecidas de marca < IMG >:

  • src

  • Instâncias são geralmente recuperadas de um valor de campo de SPListItem para a coluna LinkField . Também é o objeto usado para armazenar o valor lançado em um controle Value e Value . Você também pode construir uma nova instância diretamente como um vazio valor ou com base na cadeia de caracteres HTML que está de acordo com o padrão básico de uma marca < A > opcionalmente contendo um ícone marca < IMG >. Depois de recuperar o valor de um campo SPListItem e alterando as propriedades desse objeto, você deve definir o objeto de valor de volta para o valor do campo SPListItem e use o método Update para armazenar o valor.

Exemplos

using SPListItem = Microsoft.SharePoint.SPListItem;
using LinkFieldValue = Microsoft.SharePoint.Publishing.Fields.LinkFieldValue;

namespace Microsoft.SDK.SharePointServer.Samples
{
public static class LinkFieldValueSamples
  {
  // You can change any of the following data that will be set into the LinkFieldValue.
  private const string NewNavigateUrl = "/Documents/SampleFile.docx";
  private const bool NewUseDefaultIcon = false;
  private const string NewTarget = "_blank";
  private const string NewToolTip = "Sample tool tip for the link";
  private const string NewTextPrefix = "Open [";
  private const string NewTextSuffix = "] in a new window";

  // You can change the following default LinkFieldValue HTML markup.
  private const string DefaultLinkFieldValueHtml = "<A href=\"/Documents/SampleFile.docx\" target=\"_blank\"><IMG src=\"/_layouts/images/icdoc.gif\" alt=\"\">Open [SampleFile.docx] in a new window</a>";

  public static string GetAndSetLinkFieldValue(
  SPListItem listItemWithLinkField,
  string linkFieldName)
    {
    if (null == listItemWithLinkField)
      {
      throw new System.ArgumentNullException("listItemWithLinkField", "The listItemWithLinkField argument must be a valid SPListItem");
      }

    if (string.IsNullOrEmpty(linkFieldName))
    {
    throw new System.ArgumentNullException("linkFieldName", "The linkFieldName argument must be a valid link field name on the SPListItem");
    }
    // Retrieve the current value from an SPListItem object
    // with a column of the LinkField type with the
    // name linkFieldName.
    LinkFieldValue currentFieldValue = 
    listItemWithLinkField[linkFieldName] as LinkFieldValue;

    // If there is no current value, construct a new empty value.
    if (null == currentFieldValue)
    {
      currentFieldValue = new LinkFieldValue();
    }

    // If this property is not set to a value, the ToString() for the
    //  LinkFieldValue returns String.Empty and nothing is stored in
    //  the field value when it is set back into the SPListItem.
    currentFieldValue.NavigateUrl = NewNavigateUrl;

    // These properties are optional for a LinkFieldValue.
     currentFieldValue.Target = NewTarget;
     currentFieldValue.ToolTip = NewToolTip;
     currentFieldValue.UseDefaultIcon = NewUseDefaultIcon;

    // Use the static GetDefaultIconUrl method to find the correct
    //  icon URL in the given Web site for the file extension in NewNavigateUrl.
    currentFieldValue.IconUrl =
    LinkFieldValue.GetDefaultIconUrl(NewNavigateUrl, listItemWithLinkField.Web);

     // Use the static GetDefaultDisplayText method to find the default
     // link text for the given NewNavigateUrl.
     currentFieldValue.Text = NewTextPrefix +
     LinkFieldValue.GetDefaultDisplayText(NewNavigateUrl) +
     NewTextSuffix;

    // The changes to the properties of the LinkFieldValue object are
    // local to this specific object instance and not stored in the SPListItem.
    // To store the changes, the value must be set back to the SPListItem field value.
    listItemWithLinkField[linkFieldName] = currentFieldValue;
    listItemWithLinkField.Update();

    // The ToString() returns the HTML markup that reflects the new LinkFieldValue properties.
    return currentFieldValue.ToString();
    }
  }
}

Segurança de thread

Os membros públicos estática (Shared no Visual Basic) desse tipo são seguros para thread. Nenhum membro de instância pode ser garantido como seguro para thread.

Ver também

Referência

LinkFieldValue membros

Microsoft.SharePoint.Publishing.Fields namespace