0

メインページ(Default.aspx)この場所"D:\Websites\wwwFlofab\HomeSite\Default\Pages"でマスターページ(Site.Master)を使用しているこの場所で)を使用してソリューションを取得しました"D:\Websites\wwwFlofab\HomeSite\Master\Pages"

私たちのウェブサイトにアクセスするとき、私たちはDefault.aspx(上記のものではなく)を使用して私のにリダイレクトしていましたDefault.aspx。そうすれば、私がURLを入力しているとき、それはリダイレクトされていたので、取得する代わりに次の"http://www.mywebsite.com"ようなものを持っていました"http://www.mywebsite.com/HomeSite/Default/Pages/Default.aspx"

最初の読み込み時にが表示されるのが気に入らなかったので、リダイレクトを回避するように"/HomeSite/Default/Pages/Default.aspx"IIS7.5のデフォルトドキュメントを変更しました。"Default/Pages/Default.aspx"

これで、最初のロード時に正しく表示されます(http://www.mywebsite.com)。

それから私は私が理解していない何かを見ました、そしてそれが私がここに投稿している理由です:)

私のマスターページには、このように表示された多くの画像がありました

<img src='~/Styles/images/ASME.png' />

IISのデフォルトのドキュメントが変更された後、これらのすべてのイメージ(マスターページ内)は表示されませんでした(最初のロード時のみ)。それらを正しく表示するには、URLを追加する必要があります。

<img src='http://www.mywebsite.com/HomeSite/Styles/images/ASME.png' />

IISから呼び出されたときではなく、手動リダイレクトで画像が正しく表示されるのはなぜですか?

同じページ、同じフォルダ、URLのみが変更されています。

4

1 に答える 1

2

画像パスに「~」記号を使用しましたが、追加しなかったrunat="server"ため、パスがそのままクライアントに送信されました。

クライアントはあなたの画像パスを取得し、それをページ アドレスの URL と組み合わせたので"http://www.mywebsite.com/HomeSite/Default/Pages/Default.aspx"、 で'~/Styles/images/ASME.png'解決されまし"http://www.mywebsite.com/HomeSite/Styles/images/ASME.png"たが、アドレスがホスト名のみの場合、画像 URL は"http://www.mywebsite.com/Styles/images/ASME.png".

それを解決する方法は、画像に追加することですrunat="server"。そのため、サーバーはどのような場合でも正しいクライアント URL を解決します。

<img runat="server" src='~/Styles/images/ASME.png' />
于 2012-09-24T14:18:27.147 に答える