1

ASP.NETでは、チルダ(〜)はURLでトークンとして扱われ、その接頭辞が付いたパスはアプリケーションルートからの相対パスとして扱われます。これはよく知られている機能です。

MOSSには、〜sitecollection / mypath ...などの他のトークンがあります。これらは同様に動作しますが、パスをサイトコレクションルートからの相対パスとして扱います。これはどのように達成されますか?ざっと検索したところ、このようなトークンを.NETURL解決メカニズムに追加する方法に関する情報が見つかりませんでした。

4

3 に答える 3

5

それが唯一の場所ではないかもしれませんが、SPUtility.GetServerRelativeUrlFromPrefixedUrl()は〜siteと〜sitecollectionでURLを解析します。MOSSは、宣言型で使用するためのSPUrlExpressionBuilderも提供します。

<link runat="server" rel="stylesheet" type="text/css"
      href="<% $SPUrl:~SiteCollection/Style Library/MyStyles/style.css %>" />
于 2009-01-12T19:06:29.850 に答える
0

確かなことはわかりませんが、すべての要求に対して実行されるSharePointHTTPModuleまたはHTTPHandlerの1つにコードが埋め込まれていることは間違いありません。

于 2008-12-03T18:22:22.370 に答える
0

ハンドラーの出力のどこでも置き換えられるユニバーサルトークンではないため、そこにはないと思います。これはサーバー コントロールの URL 解決レベルで発生するため、コントロールの構築または解析に関連するクラスのどこかにあるのではないかと思われますが、そこには何も見つかりませんでした。

于 2008-12-03T18:46:34.990 に答える