图像控制不起作用

时间:2012-02-07 21:59:21

标签: c# asp.net datalist itemtemplate

我有以下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可能有什么问题?

提前感谢

2 个答案:

答案 0 :(得分:1)

我学习的第一个.NET技巧之一就是简单地添加&lt;%= Request.ApplicationPath%&gt;到页面中任何路径的开头,例如:

/Images/Foo.gif'... /&gt;

问题在于,当请求文件时,它返回“root-relative”而没有斜杠。这意味着当从网站的根文件夹请求页面时,Request.ApplicationPath返回'/'。在上面的示例中,将写出以下字符串:

在针对localhost进行开发时不会选择此项,因为应用程序将位于网站根目录下的一个级别,这意味着将在斜杠“/”后返回虚拟目录名称:

但是,如果从子文件夹中的页面请求页面,则路径将返回为“/ FldrName”,上面的示例将正确解析为:

'从根 '在虚拟目录中

答案 1 :(得分:0)

尝试导入ApllicationPath所在的aspx文件命名空间。

<%@ Import Namespace="YourNamespace" %>

或指定具有完整名称空间src="<%= YourNamespace.ApplicationPath%>

的变量