2010-06-01 18 views
0

當我打開URL重寫來訪問頁面時,〜no no被替換爲應用程序根目錄。使用IIS和ASP.Net Tilde的IIRF(〜)

例如

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

應該產生:

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

但其僅輸出

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

代字號被認爲與該應用程序的根路徑來代替,但它看起來像IIRF在某種程度上搞砸了嗎?

有關如何解決此問題的任何想法?

回答

0

代字號(〜)字符表示ASP.NET中應用程序的根目錄。在將標記發送給客戶端之前,將其替換爲ASP.Net服務器控件中的適當值。

另一方面,IIRF在進入ASP.Net管道之前重寫URL。它轉換來自客戶端的請求。

IIRF修改請求,而ASP.Net轉換響應中的波浪號。

因此,在發送給客戶端的標記中,你永遠不應該看到代字號。

如果確實在發送給客戶端的標記中有一個波形符號,則可能是一個錯誤,您應該修改代碼以正確替換它。

一些指針,以確保代字號被替換: