2012-02-07 6 views
-2

私は、次のASPコードを持っている:イメージコントロールのdosen't作業

<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に何が問題がありますか?

はApllicationPathが存在するのaspxファイルの名前空間にインポートしようとアドバンス

+0

コード内のApplicationPathプロパティはありますか? – ivowiblo

+0

ivowibloいいえいいえコードなし – Michael

+1

だから、どのクラスにはApplicationPathプロパティが含まれていますか?おそらく、あなたはRequest.ApplicationPathを呼び出すことを忘れた – ivowiblo

答えて

1

ワン:

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

問題は、ファイルが要求されたとき、それは 『ルート相対』最後のスラッシュなしで返される、ということです。つまり、Webサイトのルートフォルダからページが要求されると、Request.ApplicationPathは '/'を返します。上記の例では、以下の文字列が書き出されます。

ローカルホストに対して開発する場合、アプリケーションがその仮想ディレクトリ名を意味するウェブサイトのルートの下にあるレベルになりますので、これがピックアップされませんスラッシュ「/」の後に返されます。ページはサブフォルダ内のページから要求された場合、

しかし、その後、パスが解決されます「/ FldrName」と、上記の例のように返されます正しく:

'ルートから '仮想ディレクトリ内

0

にありがとうございました。

<%@ Import Namespace="YourNamespace" %> 

または完全な名前空間で変数を指定する私は単になど、あなたのページ内の任意のパスの先頭に<% = Request.ApplicationPath%>を付加することを学んだ最初の.NETトリックのsrc="<%= YourNamespace.ApplicationPath%>