0

aspx ページで ResolveUrl 関数をよく使用していますが、解決されたパスは常に相対パスです。レンダリングされたパスを通常の「 http://localhost/myproject/」で開始できるようにしたいと考えています

ファイルの階層を変更した場合にコードを壊さずにそれを達成するにはどうすればよいですか? 関数を作成して、ページ上のターゲット リンクごとに呼び出すのは非効率でしょうか?

4

2 に答える 2

1

~URL を解決するときに使用します。常にアプリケーション ルートに移動します。

~/somedirectory/default.aspx

に解決されます...

{applicationRoot}/somedirectory/default.aspx

サーバーアドレスを手動で追加する必要があります。

Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port

サンプル関数は次のようになります

string ResolveAbsoluteUrl(string path)
{
    return Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port + ResolveUrl(path);
}
于 2009-04-18T21:32:47.973 に答える
-1

Rick Strahl の投稿からオンラインでいくつかのコードを見つけましたが、それは私の場合に使用できるもののようです! 助けてくれてありがとう

于 2009-04-18T21:44:32.487 に答える