【问题标题】:Image not getting displayed in datalist图像未显示在数据列表中
【发布时间】:2013-07-18 13:45:57
【问题描述】:

我正在将图像绑定到数据列表。从数据库中获取图像名称并给出路径。

我的代码是:

<asp:DataList ID="dlImages" runat="server" RepeatColumns="4">
            <ItemTemplate>
               <asp:ImageButton ID="ImageButton1" Height="200px" Width="200px" ImageUrl='<%# Eval("PageName","D:\Sagar\Kinston\WebSite\ScreenMasterImages\{0}.jpg") %>'  runat="server" />
            </ItemTemplate>
        </asp:DataList>

在 .cs 页面上:

ds = gc.GetDataToListBinder("select DISTINCT PageOrderID,PageName from ScreenMaster order by PageOrderID")
            dlImages.DataSource = ds.Tables(0)
            dlImages.DataBind()

我面临两个问题:

  1. 当 imagename 之间有空格时,它会在其间添加 %20 例如。如果 imagename 为“API Message”,则取为:“API%20Message”

我试过这个问题:

添加ImageUrl='&lt;%#Server.HtmlDecode(Eval("PageName","D:\Sagar\Kinston\WebSite\ScreenMasterImages\{0}.jpg"))'

但我得到了错误:

XML literals and XML properties are not supported in embedded code within ASP.NET
  1. 如果没有空格 Eg.image name is "Charges" ,那么它也不会在datalist中显示。

当我运行项目并右键单击它并查看源代码时,它会向我显示正确的路径:

src="D:\Sagar\Kinston\WebSite\ScreenMasterImages\Charges.jpg"

但不显示图像。

请帮我看看上面的代码。

我哪里做错了?

我还应该添加什么?

【问题讨论】:

  • 无论如何,您都不应该使用物理路径...请改用相对路径!比如[WEBROOT]\ScreenMasterImages\{0}.jpg或者~\ScreenMasterImages\{0}jpg! (对于我的第一个示例,将 [WEBROOT] 替换为好的信息)。
  • @SimonDugré 谢谢,但实际问题呢?
  • @SimonDugré 提到的真正的问题。您不会通过驱动器号引用网页中的图像。它需要与您的网络应用程序所在的位置相关。试试他给出的第二个例子。此外,Web 应用程序需要 将空格替换为 %20 - 不要解码它们。 URL 不能包含空格。

标签: asp.net .net vb.net visual-studio-2008


【解决方案1】:

保持简单。

在尝试使用 URL 进行类似操作时,要确切知道要写下什么,请尝试在地址栏中输入它,这样您就可以找到使其正常工作所需的确切语法。

我已经为我做了这么多的时间和工作......所以你可以尝试这样的事情:

<asp:DataList ID="dlImages" runat="server" RepeatColumns="4">
    <ItemTemplate>
        <asp:ImageButton ID="ImageButton1" Height="200px" Width="200px"
               ImageUrl='<%# String.Format("{0}{1}.jpg", "~\ScreenMasterImages\", Server.HtmlDecode(Eval("PageName"))) %>'
               runat="server" />
    </ItemTemplate>
</asp:DataList>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    相关资源
    最近更新 更多