複数のサイトを持つWebサーバーに公開されるASP.NET Webサイトがあります。たとえば、次のように複数サイトのWebサーバーとローカルホストでの相対パスの指定
www.example.com/SiteA
またはwww.example.com/SiteB
プラス私は、例えば、画像のパスを指定する場合、私はまたlocalhost:12345
で、たとえば、公開する前にローカルでサイトをテスト:/Images/exampleImage.gif
、実行している場合、これは動作しますImagesフォルダはルートディレクトリにあるため、ローカルにサイトを作成します。この場合正しいパスはlocalhost:12345/Images/exampleImage.gif
です。
しかし、Webサーバーに公開すると、たとえばwww.example.com/SiteA
になると、同じパスがwww.example.com/Images/exampleImage.gif
に行き着き、画像が正しく表示されません。
また、ASPコントロールと同様に、これはHTMLコントロールのみに使用されています。チルド(~/Images/exampleImage.gif
)を使用すると、www.example.com/SiteA/Images/exampleImage.gif
というサイトのルートディレクトリを調べることができます。
私の場合は、HTMLコントロールを使用することを強くおすすめします。
編集:私はdiv要素が隠されている場合に基づいてHTMLのIMGコントロールのイメージを変えるJavaScriptを持っているので、この理由は次のとおりです。私はimagesフォルダへのパスを得ることができる方法
function Toggle(commId, imageId) {
var div = document.getElementById(commId);
var img = document.getElementById(imageId);
if (div.style.display == 'none') {
div.style.display = 'inline';
img.src = "/Images/minus.gif";
} else {
div.style.display = 'none';
img.src = "/Images/plus.gif";
}
}
を、サーバー上の各サイトのフォルダがあるときにサイトのルートに関連して、ローカルホスト上で作業していますか?