0

ページにアクセスするために URL 書き換えをオンにすると、~ no long がアプリケーション ルートに置き換えられます。

例えば

<asp:image runat="server" ImageUrl="~/Images/image.png"/>

生成する必要があります:

<img src="/testing/Images/image.png">

しかし、その唯一の出力

<img src="/Images/image.png">

チルダはアプリケーションのルート パスに置き換えられるはずですが、IIRF が何らかの形でそれをいじっているように見えますか?

これを修正する方法についてのアイデアはありますか?

4

1 に答える 1

0

チルダ(〜)文字は、ASP.NETのアプリケーションのルートディレクトリを表します。マークアップをクライアントに送信する前に、ASP.Netサーバーコントロールで適切な値に置き換えられます。

一方、IIRFは、ASP.Netパイプに入る前にURLを書き換えます。クライアントからのリクエストを変換します。

IIRFは要求を変更しますが、ASP.Netは応答のチルダを変換します。

したがって、クライアントに送信されるマークアップでは、チルダが表示されることはありません。

クライアントに送信されるマークアップにチルダがある場合、それはおそらくバグであり、正しく置き換えられるようにコードを変更する必要があります。

チルダが置き換えられることを確認するためのいくつかのポインタ:

于 2010-06-17T20:57:46.020 に答える