在listview中通过imageurl显示图像

时间:2011-04-02 12:34:43

标签: c# asp.net mysql html

不知道如何解释这个,但我有一个mysql语法odbc连接绑定到sqldatasource,如下所示:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ODBCDataConnectionString %>" 
    ProviderName="<%$ ConnectionStrings:ODBCDataConnectionString.ProviderName %>" 
    SelectCommand="SELECT User.FirstName, User.SecondName, User.Aboutme, User.DOB, Pictures.picturepath FROM User LEFT JOIN Pictures ON User.UserID = Pictures.UserID">
</asp:SqlDataSource>

我将Image * URL *保存到数据库中,并且我试图更改listview的一部分,以便我可以显示该图像,我试过的每一次尝试都会导致服务器标签的结果形成不好如果我如果我使用html img控件,则使用asp图像或仅显示url路径。我如何与其中一个进行对抗,以便我可以通过listview中的图像显示图像?

    <asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1" 
        EnableModelValidation="True" GroupItemCount="3">
        <AlternatingItemTemplate>
            <td runat="server" style="background-color:#FFF8DC;">
                FirstName:
                <asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("FirstName") %>' />
                <br />SecondName:
                <asp:Label ID="SecondNameLabel" runat="server" 
                    Text='<%# Eval("SecondName") %>' />
                <br />Aboutme:
                <asp:Label ID="AboutmeLabel" runat="server" Text='<%# Eval("Aboutme") %>' />
                <br />
                DOB:
                <asp:Label ID="DOBLabel" runat="server" Text='<%# Eval("DOB") %>' />
                <br />
                picturepath:
                <img alt="" src="<%# Eval("picturepath") %>" />
                <%--<asp:Image ID="Image1" runat="server" ImageUrl="<%# Eval("picturepath") %>" />--%>

<%--                <asp:Label ID="picturepathLabel" runat="server" 
                    Text='<%# Eval("picturepath") %>' />--%>
                <br />
            </td>

2 个答案:

答案 0 :(得分:1)

您无法在其他服务器控件的模板部分中使用服务器控件。

但唯一的解决方案是在模板中插入img标记。但问题仍然存在。你的图片网址可能有表示应用程序路径。

您也可以使用以下代码来解决此问题。

<img alt="" src="<%# Eval("picturepath").Tostring()
     .Replace("~/", "http://" + Request.Url.Host + "/" + 
     (string.IsNullOrEmpty(Request.ApplicationPath)?
         string.Empty:Request.ApplicationPath + "/") %>" />

这将解决您的问题

答案 1 :(得分:0)

更改双引号&#34; &#34;单引号&#39; &#39;:

src="<%# Eval("picturepath") %>" /> 

src='<%# Eval("picturepath") %>' />