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.