2012-02-07 88 views
-2

我有以下ASP代碼:圖像控制這麼想的工作

<asp:DataList ID="dlGallery" runat="server" 
    <ItemTemplate> 
     <div style="float: left; padding-right: 10px; text-align: center"> 
      <img src="<%= ApplicationPath%><%# Eval("ImageUrl") %>"width="80"/>    
    </ItemTemplate> 
</asp:DataList> 

我得到這個錯誤: 編譯器錯誤消息:CS0103:名稱「ApplicationPath」在目前情況下不存在

這是什麼意思?ApplicationPath有什麼問題?

預先感謝您

+0

ApplicationPath屬性在代碼後面嗎? – ivowiblo 2012-02-08 04:57:01

+0

ivowiblo,沒有後面沒有代碼 – Michael 2012-02-08 05:26:18

+1

那麼,哪個類包含ApplicationPath屬性?也許你忘了調用Request.ApplicationPath – ivowiblo 2012-02-08 05:48:48

回答

1

一個我學會了簡單地追加<%= Request.ApplicationPath%>到的任何路徑開始在您的網頁,如第一.NET招數:

/Images/Foo.gif」 ... />

的問題是,當請求的文件,則返回‘根目錄相對’不帶後綴斜線。這意味着,當從網站的根文件夾請求頁面時,Request.ApplicationPath會返回'/'。在上面的例子中,下面的字符串將寫出:對本地主機開發時

這不會被拾起,因爲該應用程序將是網站的意思是根目錄下一個級別的虛擬目錄名將斜槓「/」後返還:如果一個頁面從一個頁面請求中的子文件夾

然而,則路徑返回爲「/ FldrName」和上面的例子將解決正確爲:

'從根目錄 '在虛擬目錄中

0

嘗試導入其中ApllicationPath存在於aspx文件的命名空間。

<%@ Import Namespace="YourNamespace" %> 

或完整的命名空間指定變量src="<%= YourNamespace.ApplicationPath%>

相關問題