更新プログラム (01/17/08): このブログのエントリ詳細のハイパーリンク XSL の良さについて協議します。: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
概要と目標: ダッシュ ボードのコンポーネントとして機能する単純な棒グラフを作成しました。. 建物の別のポストのためのチャートの詳細を節約します。, しかし、その技術を発明していません。 (また、質問マーク, その問題について). それは、グラフとそれを固定されてバグがあったが判明, 私はいくつかのラベルをグラフの背後にある基になるリストを指すハイパーリンクに変換する機会を取った. たとえば, 「ホールド」の値を持つラベルがあります。. ラベルをハイパーリンク ユーザーがそれをクリックし、ドリル ダウン ステータス値が「ホールド」リストの特定のエントリにしたいです。.
手順:
- Visual studio を使用します。 sharepoint 対応の intellisense.
- Visual studio の dvwp での XSLT をコピーします。 (空のプロジェクトを作成します。, プロジェクトに XSL ファイルを追加します。).
- コピーをクリップボードに使用するリンク.
- XSL の正しい位置に貼り付ける.
- URL からクエリ文字列引数の区切り記号を変換"&" "&アンプ;"
- 各引数の Url エンコード.
- 中のそれをラップします。 <href…> </は>
例:
私は、URL があります。:
http://[サーバー]/[サイト]/Lists/Open Positions/AllItems.aspx?表示 ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = リクルーター&FilterValue1 = 保留
変換します。:
<は href="Lists/Open Positions/AllItems.aspx?ビュー % 7b84EEA2F5-121B-40B7-946F =-
0FA704A1DAA1 %7 d&アンプ;FilterField1 = リクルーター&アンプ;FilterValue1 = 保留"> ホールド: </は>
私は手動でからの最初の引数を変換しています。:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
宛先:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d
(これで, かっこに変換 % 7b を開閉ブレース %7 d への変換)
2 番目と 3 番目の引数’ パラメーター ("FilterField1 =リクルーター" "FilterValue1 =ホールド" それぞれ) 安全でない文字を含まないので url エンコードする必要はありません。.
メモ:
この手法は、一般的に XSLT、ハイパーリンクは、URL パラメーターなどのハイパーリンクを埋め込む場所動作するはずです。:
http://[サーバー]/[サイト]/Lists/Open Positions/AllItems.aspx?表示 ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = リクルーター&FilterValue1 = 保留
私はカスタム リストへのアクセスを手動で [ステータス] 列にフィルタ リング URL 自体を得た (ラベル"リクルーター" 上).