0

イメージ パスとイメージ名を myqsl データベースに保存します。データベースの画像をasp.net data-listに表示したいと思います。このようなクエリ結果があります ここに画像の説明を入力

pageNameで画像を表示したい。私はdatalstでこのようなことをします。

<asp:DataList ID="dtlistImages" runat="server" RepeatColumns="3" RepeatDirection="Horizontal"
                        BorderColor="#336699" BorderStyle="Solid" BorderWidth="2px">
            <ItemTemplate>
                <asp:Label ID="lblID" runat="server" Text='<%# Eval("pageName") %>' Font-Bold="true"
                            Font-Size="10pt" ForeColor="#336699" Width="100%"/>
                            </br>
                 <asp:Image ID="imgnewspaper" runat="server" ImageUrl='<%#  Eval("pageNumber") %>' />
                 </ItemTemplate>
                 <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" />    
    </asp:DataList>

コードビハインド:

  public DataTable getData(string query)
        {
            MySqlConnection conn1 = new MySqlConnection(ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString);
            conn1.Open();
            MySqlCommand cmd = new MySqlCommand(query, conn1);
            MySqlDataAdapter da = new MySqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        protected void btnshow_onclick(object sender, EventArgs e)
        {
            string query = "select cap_newspaper_page.pageServer,cap_newspaper_page.pagePath, pageNumber,pageName,newspaper.newspaperName,newspaper_station.newspaperStationName"+
                            " FROM cap_newspaper_page Inner Join cap_newspaper ON cap_newspaper_page.capnewspaperID = cap_newspaper.capnewspaperID inner join newspaper on newspaper.newspaperID=cap_newspaper.newspaperID"+
                            " inner join newspaper_station on newspaper_station.newspaperStationID=cap_newspaper.newspaperStationID where cap_newspaper.newspaperID="+ddlNewspaper.SelectedValue+" and cap_newspaper.newspaperStationID="+ddlNewspaperStation.SelectedValue+" and cap_newspaper_page.publishDate='"+tbDate.Text+" 00:00:00'";
            dtlistImages.DataSource = getData(query);           
            dtlistImages.DataBind();
        }

しかし、表示はこのようなものです ここに画像の説明を入力

画像も動的に表示する方法。クエリに基づいています。

4

3 に答える 3

1

コンパイルされた html のソース コードはどのようなものですか? 明らかに、画像パスは無効でなければなりません。ASPが書いたものを確認すると、何が悪いのかについての強力な手がかりが得られませんか?

于 2013-02-27T13:40:07.653 に答える
1

EvalにはpageNumberのみがあり、pagePathはありません

于 2013-02-27T13:41:11.677 に答える
0
<asp:Image ID="imgnewspaper" runat="server" ImageUrl='<%#  Eval("pagePath") %>' />

または、ローカルで実行している場合は
プロジェクト フォルダー内の画像がprintImagesローカルにありません。ライブ サーバーで実行している場合は、そのフォルダーの画像も確認してください。

提案私は次の方法で同じことを達成しました:

    <asp:ListView ID="ImagesList" runat="server" DataKeyNames="ID" GroupItemCount="4"  OnPagePropertiesChanging="ImagesList_PagePropertiesChanging">
        <EmptyDataTemplate>
            No Images found.
         </EmptyDataTemplate>
          <ItemTemplate>
               <asp:ImageButton ID="MyPicture" runat="server" OnClick="MyPicture_Click" CommandArgument='<%# Eval("ID") %>'  AlternateText='<%# Eval("Name") %>' ImageUrl='<%# Eval("ImagePath") %>' Autopostback="true"Width="155" Height="80" />
  </ItemTemplate>
</asp:ListView>
于 2013-02-27T14:11:55.023 に答える