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

グリッドビューで画像を表示するには、データベースからバイナリデータを読み取るハンドラーを作成する必要があります。

これがその良い例です。

于 2012-07-27T09:43:54.417 に答える
0

画像はデータベースに保存されていると思います。画像を表示するために
書き込みます。データベースから直接.ashxファイルの応答ヘッダーを使用して画像をレンダリングし、リピーターで次のようにその.ashxファイルを使用すると、画像が表示されます。 .ashx(Http handler)

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

HttpHandlerを使用してASP.NETGridViewのデータベースから画像を表示するもう1つの良い例

于 2012-08-20T14:39:00.280 に答える