0

我需要显示数据库表中的多个图像并将其绑定到转发器,我该怎么做呢?

这是我当前的代码,但我不知道如何继续显示图像

以下是我将数据加载到中继器的方法:

public void loadNoofNewJobsCompany()
{
        DateTime lastlogged = Convert.ToDateTime(Session["LastLoginstaff"]);

        string sqlStr = "SELECT * FROM Job ";
        sqlStr += "WHERE ";
        sqlStr += "UpdatedDateCmpRep <= @loggedin";

        SqlCommand cmd = new SqlCommand(sqlStr, cnn);
        cmd.Parameters.AddWithValue("@loggedin", lastlogged);

        try
        {
            cnn.Open();

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            DataTable dt = new DataTable();
            da.Fill(dt);

            Label2.Text = dt.Rows.Count.ToString();

            PagedDataSource pgdsc = new PagedDataSource();
            pgdsc.DataSource = dt.DefaultView;

            repeater1.DataSource = pgdsc;
            repeater1.DataBind();
        }
        catch (Exception ex)
        {
            Response.Write("Error: " + ex.Message);
        }
        finally
        {
            if (cnn != null)
            {
                cnn.Close();
            }
        }
    }

这是中继器:

<asp:Repeater ID="repeater1" runat="server">
    <ItemTemplate>
        <div class="boxgrid caption">
            <%--<img src="../../img/google.png"  style="text-align:center"/>--%>
            <div class="cover boxcaption">
               <p>
                   <a href='../Job/ViewJobDetail.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "JobID")%>' class="headerlink">
                   <%# getTitle(Eval("JobName").ToString()) %>
                   </a>
               </p>
               <p>
                   Salary Range:
                   <%# DataBinder.Eval(Container.DataItem, "JobSalaryRange")%>
               </p>
               ... (more stuff - not relevant here) .....
            </div>
         </div>
     </ItemTemplate>
</asp:Repeater>
4

3 回答 3

1

为了在 gridview 中显示图像,我们需要创建一个 Handler 来从数据库中读取二进制数据。

是一个很好的例子。

于 2012-07-27T09:43:54.417 回答
0

我假设图像存储在数据库中。
写入.ashx(Http handler)以显示图像。
您可以直接从数据库中使用 .ashx 文件中的 Response Header 渲染图像,并在转发器中使用该 .ashx 文件,如下所示,图像将被显示。

<img src="displayImage.ashx?id=111"  style="text-align:center"/>
于 2012-07-27T13:04:00.120 回答
0

在 ASP.NET GridView 中使用 HttpHandler 查看从数据库中显示图像的另一个很好的例子

于 2012-08-20T14:39:00.280 回答