图像未在datalist中显示

时间:2013-07-18 13:45:58

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

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

我的代码是:

<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”
  2. 我试过这个问题:

    添加了ImageUrl='<%#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名称是“Charges”,那么它也没有在datalist中显示。
    2. 当我运行项目时,右键单击它并查看源代码,然后它显示正确的路径为:

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

      但没有显示图片。

      请帮我处理上述代码。

      我犯了错误?

      我应该在其中添加什么?

1 个答案:

答案 0 :(得分:2)

保持简单易行。

使用网址尝试这样的内容时,要确切知道要写下来的内容,请尝试在地址栏中输入内容,这样您就能找到所需的确切语法,以使其正常工作。

我已经花了很多时间为我工作......所以你可以尝试类似的东西:

<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>