aspx ページで ResolveUrl 関数をよく使用していますが、解決されたパスは常に相対パスです。レンダリングされたパスを通常の「 http://localhost/myproject/」で開始できるようにしたいと考えています
ファイルの階層を変更した場合にコードを壊さずにそれを達成するにはどうすればよいですか? 関数を作成して、ページ上のターゲット リンクごとに呼び出すのは非効率でしょうか?
aspx ページで ResolveUrl 関数をよく使用していますが、解決されたパスは常に相対パスです。レンダリングされたパスを通常の「 http://localhost/myproject/」で開始できるようにしたいと考えています
ファイルの階層を変更した場合にコードを壊さずにそれを達成するにはどうすればよいですか? 関数を作成して、ページ上のターゲット リンクごとに呼び出すのは非効率でしょうか?
~
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);
}
Rick Strahl の投稿からオンラインでいくつかのコードを見つけましたが、それは私の場合に使用できるもののようです! 助けてくれてありがとう