1

スクリプトと css を組み合わせるために IHttpHandler から継承するクラスを作成しています。クエリ文字列に特別なパラメーターが定義されている場合にのみ結合したい。このパラメーターが定義されていない場合は、ハンドラーが関与していないかのようにファイルの内容を書き込みたいと思います。私が遭遇している 1 つの問題は、仮想ディレクトリ内のスクリプトを参照するスクリプト タグがページにあるのに、ヒットしているページがアプリケーションのサブディレクトリ内にあることです。

制御スクリプトが参照されているページはhttp://webserver/Admin/Default.aspxにあります。IHttpHandler を実装するクラスで Request オブジェクトにアクセスすると、すべてのファイル パス プロパティは次のようになります: webserver/Admin/~/SharedScripts/control.js。これを解決するにはどうすればよいですか?

4

2 に答える 2

0

これは私が思いついた解決策です:

string fileContent = string.Empty;
string filePath = context.Request.PhysicalPath;
int tildeLocation = filePath.LastIndexOf("~");

string location = (tildeLocation == -1 ? filePath : context.Server.MapPath(filePath.Substring(tildeLocation, filePath.Length - tildeLocation)));
于 2010-03-11T15:30:59.543 に答える
0

基本的に、メソッドが必要ですが、 、またはそのためのコントロール ResolveUrlがありません。この記事では、オブジェクトを手元に置かずにそれを行う方法について説明します。PagePage

于 2010-03-11T03:20:27.693 に答える