ATUALIZAÇÃO (01/17/08): Esta entrada de blog fala sobre o hiperlink mais bondade XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Visão geral e objectivo: Eu tinha criado um gráfico de barras simples para servir como componente em um painel de controle. Eu vou guardar os detalhes na construção de cartas náuticas para outro post, Mas eu não inventei essa técnica (Nem o ponto de interrogação, para que o assunto). Verificou-se houve um erro no quadro e, enquanto eu fixo que, Eu aproveitei a oportunidade para converter alguns rótulos em hiperlinks que apontaram para a lista subjacente por trás do gráfico. Por exemplo, Não há uma etiqueta com o valor de "Hold". Eu queria virar o rótulo em um hiperlink para que o usuário pode clicar nele e detalhar as entradas específicas na lista cujo valor de status é "Hold".
Passos:
- Estúdio visual de uso para SharePoint-ciente intellisense.
- Copie XSLT do DVWP no visual studio (criar um projeto em branco, Adicionar um arquivo XSL para o projeto).
- Copie o link que você deseja usar para a área de transferência.
- Colá-lo no local certo na XSL.
- Converter separadores de argumento URL na seqüência de consulta de"&" para"&"
- URL-codifica argumentos individuais.
- Envoltório que dentro de um <a href…> </uma>
Exemplo:
Eu tenho uma URL:
http://[servidor]/[site]/Lists/Open Positions/AllItems.aspx?Vista ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = recrutador&FilterValue1 = Hold
Eu convertê-lo em:
<uma href="Lists/Open Positions/AllItems.aspx?Vista = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 7% d&FilterField1 = recrutador&FilterValue1 = Hold"> Segure: </uma>
Eu manualmente têm transformado o primeiro argumento de:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
Para:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 7% d
(No presente, as transformações de abrir chave de 7b % e o fechamento cinta transformações para 7% d)
Os segundo e terceiros argumentos’ parâmetros ("FilterField1 =Recrutador" e "FilterValue1 =Segure" respectivamente) Não precisa ser codificado de url porque eles não contêm qualquer caracteres não seguros.
Notas:
Esta técnica geralmente deve funcionar em qualquer lugar que você deseja inserir um hiperlink em XSLT onde o hyperlink inclui parâmetros na URL, tais como:
http://[servidor]/[site]/Lists/Open Positions/AllItems.aspx?Vista ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = recrutador&FilterValue1 = Hold
Eu tenho a URL própria acessando a lista personalizada e filtragem manualmente na coluna status (rotulado "recrutador" acima).