質問

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

// Webサーバ/管理/デフォルト:

制御スクリプトから参照されていることページは HTTPに位置しています。 ASPXする。私はIHTTPハンドラを実装するクラスでRequestオブジェクトにアクセスすると、すべてのファイルパスのプロパティは以下の通りです:Webサーバ/管理/〜/ SharedScripts / control.js。私はこれをどのように解決するのですか?

役に立ちましたか?

解決 2

これは私が思いついた解決策はあります:

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)));

他のヒント

基本的に、あなたはResolveUrl方法を必要としますが、そのことについてはPage、または任意のコントロールを持っていません。 この記事には、手元にPageオブジェクトなしでそれを行う方法について説明します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top