Home > SharePoint - Tips & Tricks, SharePoint Technologies > Trabalhando com campos HyperLink no SharePoint programaticamente

Trabalhando com campos HyperLink no SharePoint programaticamente


Olá! Smile

Overview:

O SharePoint possui diversos tipos de campos (colunas) nativos, que já acompanham o produto, para adequar a sua informação. Por exemplo, campo tipo texto, texto com várias linhas, números, etc.

Um desses campos, é o campo do tipo HyperLink. Neste campo nós atribuímos o valor e a descrição do link, ou seja, podemos colocar o link de fato e também “label” do link. Algo assim: Teste.

Cenário:

Como todo campo do SharePoint, podemos manipular estes valores usando o Object Model do SharePoint, sem fazer “workaround’s”. Trabalhando da forma correta.

Por exemplo, estes amigos fazem do jeito errado, mas funciona…

http://www.eggheadcafe.com/software/aspnet/30320968/how-to-set-the-value-to-the-hyperlink-field-programmatically.aspx

ERRADO:

SPListitem[“MeuCampoHyperLink”] = “http://algumlink.com” + “, ” + “minha descrição”;

Vamos fazer do jeito certo, então!

SOLUÇÃO:

Similar a trabalhar com campos Lookup (https://thiagottss.wordpress.com/2010/08/31/trabalhando-com-campos-lookup-e-lookup-multi-value-no-sharepoint-programaticamente/), usamos o Object Model do SharePoint para adequar os valores do campo HyperLink. Da seguinte forma:

Atribuindo valor:

SPFieldUrlValue url = new SPFieldUrlValue();
                            url.Url = "https://thiagottss.wordpress.com";
                            url.Description = "Blog do Thiago Silva!";

                            SPListitem["CampoHyperLink"] = url;

                            SPListitem.Update();

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Lendo valores do item:

SPFieldUrlValue url = new SPFieldUrlValue(item["CampoHyperLink"].ToString());
            string link = url.Url;
            string description = url.Description;

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Abraço!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: