0

私の webapp には、フォルダー Views があります。このフォルダーには、いくつかの .aspx ページが存在します。レンダリングされたコンテンツを webapp で直接使用するのではなく、webapp のルートにあるメインの aspx ページで ajax を使用してコンテンツを要求します。

画像を参照すると、ルートの aspx ページに画像参照が存在するため、「images/image.png」が機能します。これを「/images/image.png」に変更すると、ルートが仮想 IIS フォルダーによって決定されるため、これは機能しません。

「/images/image.png」などのクリーンな参照を取得するにはどうすればよいですか?

4

1 に答える 1

0

まず、おそらく最も洗練された方法として、要素をサーバーで実行し、ルート関連の URL を使用します。

<img src="~/images/image.png" alt="image" runat="server" />

これにより、src-value が現在の場所から解決されるパスに自動的に変換されます。ただし、注意点が 1 つあります。含まれているページでそれを行うと、asp.net はここに誤った値を作成する可能性があります。

<img src="../images/image.png" alt="image" />

ディレクトリがダウンしている場合。したがって、この結果をアプリケーション ルート フォルダーのページに含めると、値が正しくない可能性があります。これを回避する良い方法は見たことがありません。ただし、ファイルが存在しない場合は警告が表示されます。

または、そのようなページのルート パスを手動で設定することもできます。

<img src="<%=Request.ApplicationPath %>/images/image.png" alt="image" />

これは、常にサイトのルートから来るパスに変換されます。

<img src="/AppPath/images/image.png" alt="image" />

明らかに、これはもう少し冗長です。さらに、参照されたファイルは動的に構築されるため、存在しない場合は警告を表示できません。

于 2012-10-05T17:45:39.963 に答える