簡體   English   中英

在asp.net中動態生成圖像?

[英]Dynamically generated images in asp.net?

<li>

                                    <asp:Panel ID="Panel6" runat="server">
                                    <ul id="list2a" runat="server">

                                    </ul>

                                    </asp:Panel>
                                </li>
                                <li>
                                    <asp:Panel ID="Panel7" runat="server">

                                    <ul id="list2b" runat="server">
                                        <%--<li><a href="#">
                                            <img src="images/img.gif" width="80" height="80" alt="image description" />
                                            <span class="mask">&nbsp;</span>
                                        </a></li>
                                        <li><a href="#">
                                            <img src="images/img.gif" width="80" height="80" alt="image description" />
                                            <span class="mask">&nbsp;</span>
                                        </a></li>
                                        <li><a href="#">
                                            <img src="images/img.gif" width="80" height="80" alt="image description" />
                                            <span class="mask">&nbsp;</span>
                                        </a></li>--%>
                                    </ul>
                                    </asp:Panel>
                                </li>

我試圖在Panel內動態添加圖像,然后進入ul但是我需要在一個Panel中添加3個圖像,在另一個Panel中添加下3個圖像。

我的代碼如下:

  string query2 = "SELECT [Pic_square] From [User1] WHERE ([FB_Id] IN (SELECT [Fb_Id2] FROM [Snapshot] WHERE [Fb_Id1]= '812534558' AND [Seeltr]='See Later')) UNION SELECT [Pic_square] From [Passive] WHERE ([FB_Id] IN (SELECT [Fb_Id2] FROM [Snapshot] WHERE [Fb_Id1]= '812534558' AND [Seeltr]='See Later'))";
        var adt = new SqlDataAdapter(query2, con);
        ds1 = new DataSet();
        adt.Fill(ds1);
        int count1 = ds1.Tables[0].Rows.Count;
        for (int j = 0; j < count1; j++)
        {
            HtmlGenericControl listitem1 = new HtmlGenericControl("li");
            HtmlGenericControl anchor1 = new HtmlGenericControl("a");
            Image im1 = new Image();
            im1.ImageUrl = (string)ds1.Tables[0].Rows[j].ItemArray[0];

            im1.Height = 80;
            im1.Width = 80;
            anchor1.Controls.Add(im1);
            //anchor1.Attributes.CssStyle.Add("div", "holder");
            listitem1.Controls.Add(anchor1);

            if(count1 <= 3)
           {
            list2a.Controls.Add(listitem1);
            Panel6.Controls.Add(list2a);
            }




            else if (3 < count1 && count1 <= 6)
            {


                list2b.Controls.Add(listitem1);
                Panel7.Controls.Add(list2b);
            }

 else if (6 < count1 && count1 <= 9)
            {
                //list2b.Controls.Add(listitem1);
                list2c.Controls.Add(listitem1);
                Panel8.Controls.Add(list2c);
            }
            else if (9 < count1 && count1 <= 12)
            {
                list2d.Controls.Add(listitem1);
                Panel9.Controls.Add(list2d);
               // list2b.Controls.Add(listitem1);
               // list2c.Controls.Add(listitem1);


            }
            else
            {
               // list2b.Controls.Add(listitem1);
                //list2c.Controls.Add(listitem1);
                //list2d.Controls.Add(listitem1);

                list2e.Controls.Add(listitem1);
                Panel10.Controls.Add(list2e);

            }

但我得到的只是6張照片,我不想要

編輯:PS我有最多10個面板,我已經添加了代碼

請幫忙?

行代碼listitem1.Controls.Add(anchor1); 用下面的替換它

if (j <= 2)
{
   //panel 1
}
if (j > 2 && j <= 5)
{
   //panel 2
}
if (j > 5 && j <= 8)
{
   //panel 3
}
and so no

你只需要在if語句中添加它們,它們總是被添加到上面的panel6中。

if (3 < count1 && count1 <= 6) {

     list2a.Controls.Add(listitem1)
     Panel6.Controls.Add(list2a);

}
else
{
      list2b.Controls.Add(listitem1);
      Panel7.Controls.Add(list2b);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM